为什么我没有得到正确的输出? [复制]

2024-03-04

   int*func();
   int main()
    {
    int i;
    int *ptr;
    ptr=func();
    for(i=0;i<10;i++)
    {
    printf("%d ",*ptr);
    ptr++;
    }
    }

     int* func()
    {
    int arr[10];
    int i;
    for( i=0;i<10;i++)
    arr[i]=i+1;
    return arr;
    }

为什么我没有得到 1,2,3,4,5,6,7,8,9,10 的输出?

我从 func() 返回数组的地址,但是 我仍然得到垃圾值。


哇——激进的否决!各位,给新人一个机会吧!

答案是“范围”。如果你用 gcc 编译,你会得到一个非常明显的警告:

C:\tmp>gcc test.c
test.c: In function `func':
test.c:22: warning: function returns address of local variable

当函数退出并且其内存分配被清理时,局部变量就会丢失。

如果你想从函数返回一个数组,你必须malloc它创建一个非本地内存分配,然后返回指针。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我没有得到正确的输出? [复制] 的相关文章

  • 无法使用 strptime() 获取秒数

    我收到 YYYY MM DDThh mm ss S Z hh mm 这种格式的日期时间 我正在尝试使用复制该值strptime如下所示 struct tm time 0 char pEnd strptime datetime Y m dT
  • ROWNUM 的 OracleType 是什么

    我试图参数化所有现有的 sql 但以下代码给了我一个问题 command CommandText String Format SELECT FROM 0 WHERE ROWNUM lt maxRecords command CommandT
  • C++:无法使用scoped_allocator_adaptor传播polymorphic_allocator

    我有一个vector
  • 自动从 C# 代码进行调试过程并读取寄存器值

    我正在寻找一种方法来读取某个地址的 edx 注册表 就像这个问题中所问的那样 读取eax寄存器 https stackoverflow com questions 16490906 read eax register 虽然我的解决方案需要用
  • C++ 求二维数组每一行的最大值

    我已经设法用这个找到我的二维数组的每一行的最小值 void findLowest int A Cm int n int m int min A 0 0 for int i 0 i lt n i for int j 0 j lt m j if
  • 如何在C++中实现模板类协变?

    是否可以以这样一种方式实现类模板 如果模板参数相关 一个对象可以转换为另一个对象 这是一个展示这个想法的例子 当然它不会编译 struct Base struct Derived Base template
  • fgets() 和 Ctrl+D,三次才能结束?

    I don t understand why I need press Ctrl D for three times to send the EOF In addition if I press Enter then it only too
  • C# 中值类型和引用类型有什么区别? [复制]

    这个问题在这里已经有答案了 我知道一些差异 值类型存储在堆栈上 而引用类型存储在托管堆上 值类型变量直接包含它们的值 而引用变量仅包含对托管堆上创建的对象位置的引用 我错过了任何其他区别吗 如果是的话 它们是什么 请阅读 堆栈是一个实现细节
  • 如何在 WPF RichTextBox 中跟踪 TextPointer?

    我正在尝试了解 WPF RichTextBox 中的 TextPointer 类 我希望能够跟踪它们 以便我可以将信息与文本中的区域相关联 我目前正在使用一个非常简单的示例来尝试弄清楚发生了什么 在 PreviewKeyDown 事件中 我
  • 当 Cortex-M3 出现硬故障时如何保留堆栈跟踪?

    使用以下设置 基于 Cortex M3 的 C gcc arm 交叉工具链 https launchpad net gcc arm embedded 使用 C 和 C FreeRtos 7 5 3 日食月神 Segger Jlink 与 J
  • A* 之间的差异 pA = 新 A;和 A* pA = 新 A();

    在 C 中 以下两个动态对象创建之间的确切区别是什么 A pA new A A pA new A 我做了一些测试 但似乎在这两种情况下 都调用了默认构造函数 并且仅调用了它 我正在寻找性能方面的任何差异 Thanks If A是 POD 类
  • 使用向量的 merge_sort 在少于 9 个输入的情况下效果很好

    不知何故 我使用向量实现了合并排序 问题是 它可以在少于 9 个输入的情况下正常工作 但在有 9 个或更多输入的情况下 它会执行一些我不明白的操作 如下所示 Input 5 4 3 2 1 6 5 4 3 2 1 9 8 7 6 5 4 3
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • AccessViolationException 未处理

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 为了在我的 ASP
  • 将应用程序从 Microsoft Access 迁移到 VB 或 C#.NET

    我目前正试图说服管理层需要将我们的应用程序之一移植到 NET 该应用程序已经发展成为 Access 中的一个庞然大物 SQL 后端 拥有 700 个链接表 650 个表单 子表单 130 个模块和 850 个查询 我几乎知道这样做的所有主要
  • 已过时 - OpenCV 的错误模式

    我正在使用 OpenCV 1 进行一些图像处理 并且对 cvSetErrMode 函数 它是 CxCore 的一部分 感到困惑 OpenCV 具有三种错误模式 叶 调用错误处理程序后 程序终止 Parent 程序没有终止 但错误处理程序被调
  • 方法参数内的变量赋值

    我刚刚发现 通过发现错误 你可以这样做 string s 3 int i int TryParse s hello out i returns false 使用赋值的返回值是否合法 Obviously i is but is this th
  • 如何使用 ReactiveList 以便在添加新项目时更新 UI

    我正在创建一个带有列表的 Xamarin Forms 应用程序 itemSource 是一个reactiveList 但是 向列表添加新项目不会更新 UI 这样做的正确方法是什么 列表定义 listView new ListView var
  • 如何连接字符串和常量字符?

    我需要将 hello world 放入c中 我怎样才能做到这一点 string a hello const char b world const char C string a hello const char b world a b co
  • 将 viewbag 从操作控制器传递到部分视图

    我有一个带有部分视图的 mvc 视图 控制器中有一个 ActionResult 方法 它将返回 PartialView 因此 我需要将 ViewBag 数据从 ActionResult 方法传递到 Partial View 这是我的控制器

随机推荐

  • 引导程序上的下拉子菜单不起作用

    我只是想问为什么引导程序上的下拉子菜单不起作用 我只是按照此链接中的说明操作 http getbootstrap com 2 3 2 components html http getbootstrap com 2 3 2 component
  • 从 shell 脚本将密码输入 openssl 命令

    我正在尝试将 p12 从 shell 脚本转换为 pem 无需任何用户输入 我可以将密码作为脚本中的变量 所以当我打电话时 openssl pkcs12 in p12 out cert pem nodes 终端打印 输入导入密码 并等待输入
  • Jersey 2.x 自定义注入注释与属性

    我正在从 DropWizard 0 7 1 迁移到 0 8 1 这包括从 Jersey 1 x 迁移到 2 x 在我的 使用 Jersey 1 18 1 的实现 我有一个MyProvider 为了简单起见 更改了所有类名 实现Injecta
  • 如何避免SRP混乱?

    通过应用 SRP 原则 您必然会有很多课程 如果这对于小型项目来说效果很好 那么您如何处理和组织大型项目中的类数量 你如何组织文件夹结构 你怎么记得你建造了什么 你怎么知道其他人是否没有在其他类中构建相同的功能 这适用于所有类型的图书馆 不
  • 在 VBA 中滚动网页时等待窗口重新加载

    我编写了一个 VBA 宏来计算 Google 搜索特定术语时返回的 大约 图像数量 我的意思是 程序应该计算返回的图像数量 向下滚动以加载更多图像 如果适用 最多可计算 400 个图像 这是 简化的 代码 Sub GoogleCount C
  • 如何在 C# 中运行同步计时器?

    我正在编写一个应用程序 它使用计时器在屏幕上显示某些事件发生时的倒计时 我想重用计时器 因为它对于应用程序中的一些操作会很方便 因此我指定了要环绕计时器的单词 例如 以下函数调用 CountdownTimer 90 You have unt
  • 为 git 子模块指定分支?

    我已经将 git 子模块添加到我的 git 存储库中并且工作正常 在我的 父 存储库中 我创建了一个功能分支 我的特征这需要对子模块进行一些更改 但我不想影响使用相同子模块的其他团队 因此我在子模块存储库上创建了相应的功能分支子模块功能有一
  • 如何在路由器上注册单个视图(不是视图集)?

    我正在使用 Django REST 框架 并一直在尝试创建一个返回少量信息的视图 并将其注册到我的路由器上 我有四个存储信息的模型 它们都有一个created time场地 我正在尝试创建一个返回最新对象的视图 基于created time
  • 使用 JSoup 作为服务显示超链接的 ListView

    我最近需要收集并显示超链接列表 这很有帮助example https stackoverflow com a 73160763 230513说明使用jsoup questions tagged jsoup and a Task
  • 观看 MongoDB 在 Python 中异步更改流

    我如何设置一个 python 服务来 异步 监视 mongodb 的更改流 我能找到的一切mongodb com https www mongodb com developer quickstart python change stream
  • 查询具有大数据集的 Firebase 数据库非常非常慢

    我在 Android 应用程序上使用 Firebase 数据库 正常情况下 它工作得很好 但是当数据库变得越来越大时 查询性能就会变得越来越差 我在数据库上添加了大约 5k 记录 在 elk 和 su 节点下 然后我在数据库上查询 在 cu
  • 如何处理反应中的多组单选按钮?

    所以我从后端获取一些数据 看起来像这样 data status 1 title Title 1 status 2 title Title 2 status 1 title Title 3 status 3 title Title 4 它们将
  • 移动多列,每列具有不同的偏移量

    我有一个像这样的 data table date a b c d e f 2008 1 5 3 6 9 8 2008 3 6 2 1 5 8 2008 2 8 3 4 3 0 2009 5 5 3 6 9 8 2009 3 3 2 2 5
  • Javascript 日期方法不一致 - getDate 与 getMonth

    这让我昨晚有点头疼 我想了解为什么 Date 对象中的 getDate 方法是基于 1 返回 1 31 的值 而 getMonth 方法是基于 0 返回 0 11 我想知道为什么同一对象的方法存在这种不一致 我理解为什么现在很难改变这种行为
  • Jquery StopPropagation 在 Firefox 中不起作用

    我的这段代码可以在 Safari 和 Chrome 上运行 但不能在 Firefox 中运行 Firefox 是否有 StopPropagation 问题 function Setup drop down menu dropdown tog
  • 选择什么数据类型 json 还是 jsonb 或者 text

    我想存储一个大的 json 哈希 或内容 随心所欲地称呼它 大 是指超过 1000 个键值对的东西 我不想在该 json 字段上进行任何搜索 我只想从数据库中检索它并将其传递给 JavaScript 进行解析并构建可视化结果 在 Postg
  • 如何使用适用于 Yii2 的 AWS SDK 将图像上传到数字 Ocean Spaces?

    由于 Digital Ocean Spaces API 与 AWS SDK 兼容 因此如何 使用 AWS SDK 以编程方式将图像上传到 Digital Ocean Spaces 对于 Yii2 这是我的详细信息 Good we have
  • 如何在远程服务器上启动 NodeJS 进程?

    我创建了一个简单的 NodeJS 应用程序 现在已将其移至 AWS 中的服务器 我可以 ssh 进入服务器并启动应用程序 但显然只要我关闭终端 进程就会停止 如何启动 NodeJS 应用程序并在关闭终端后保持其运行 尽管有特定的解决方案 例
  • psql 在 postgres 中将默认的 statements_timeout 设置为用户

    我想设置一个默认值statement timeout用于访问 postgres 数据库 配置环境变量后 我现在将它放在了哪里psql将我记录到我喜欢的数据库和表上 然而 当我探索其中的几个表时 我希望语句超时约为一分钟 只需输入即可完成此操
  • 为什么我没有得到正确的输出? [复制]

    这个问题在这里已经有答案了 int func int main int i int ptr ptr func for i 0 i lt 10 i printf d ptr ptr int func int arr 10 int i for