为什么我在这个 C 代码中得到了错误的答案?

张老师

在此处输入图片说明

#include <stdio.h>

void fun(int a,int b,int c){
    int *ret;
    ret = &a -1;
    (*ret)+=8;
}
int main(){
    int x;
    x = 0;
    fun(1,2,3);
    x = 1;
    printf("x is %d\n",x );
    return 0;
}

我相信 x 应该是 1,但它实际上是 0。这是什么原因造成的?

疯狂的物理学家

您正在调用一些非常未定义的行为。a函数中的变量位于通常只能由函数访问的地址(可能在堆栈上)。减少该地址会导致未定义的位置。你根本不知道那里有什么,所以你不知道将它增加 8 会做什么。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我在这个div中没有滚动?

来自分类Dev

为什么我在这个特定的代码中得到一个 ArrayIndexOutOfBoundsException?

来自分类Dev

为什么在这个函数 C++ 深度优先搜索中出现运行时错误?

来自分类Dev

我无法确定为什么这个C程序给我这个答案

来自分类Dev

为什么在这个c float转换中结果是nan?

来自分类Dev

为什么 crtl-C 或 ctrl-Z 在这个程序中不起作用?

来自分类Dev

为什么 switch 语句在这个 C 计算器中显示默认值?

来自分类Dev

xpath为什么我在这个expth中得到空结果

来自分类Dev

为什么我在这个简单的Scala代码上遇到错误?

来自分类Dev

为什么我在这个 python 代码片段中无法迭代?

来自分类Dev

我现在没有,为什么我在这个 sql 请求中有错误

来自分类Dev

为什么在这个简单的示例中我的背景定位错误

来自分类Dev

为什么我收到来自|的语法错误?在这个脚本中?

来自分类Dev

为什么在这个While循环示例中答案变量是?

来自分类Dev

C ++中的项目Euler#8得到了错误的答案,该答案多少是uint_64的最大值

来自分类Dev

我在这个查询中弄什么

来自分类Dev

我在这个 IF 中做错了什么?

来自分类Dev

我在这个公式中缺少什么?

来自分类Dev

我在Matlab中通过矩阵求解线性方程组得到了错误的答案

来自分类Dev

使用目标c在Xcode中运行此代码时,我得到了垃圾值

来自分类Dev

为什么只使用在这个 C 程序的参数列表中声明的指针传递引用?

来自分类Dev

(AJAX / PHP)在这个简短的示例中,为什么我的POST请求不起作用?

来自分类Dev

为什么我的菜单栏不显示在这个 vbox 布局中?

来自分类Dev

为什么在这个例子中我会收到带有 argv 的崩溃报告?

来自分类Dev

为什么我的 POST 在这个简单的 VueJS 表单中失败?

来自分类Dev

为什么我需要在这个子选择中硬编码子句?

来自分类Dev

为什么在这里我得到了不同的结果?

来自分类Dev

为什么在这个简单的Scala代码上出现错误?

来自分类Dev

我无法从C ++程序中得到答案

Related 相关文章

  1. 1

    为什么我在这个div中没有滚动?

  2. 2

    为什么我在这个特定的代码中得到一个 ArrayIndexOutOfBoundsException?

  3. 3

    为什么在这个函数 C++ 深度优先搜索中出现运行时错误?

  4. 4

    我无法确定为什么这个C程序给我这个答案

  5. 5

    为什么在这个c float转换中结果是nan?

  6. 6

    为什么 crtl-C 或 ctrl-Z 在这个程序中不起作用?

  7. 7

    为什么 switch 语句在这个 C 计算器中显示默认值?

  8. 8

    xpath为什么我在这个expth中得到空结果

  9. 9

    为什么我在这个简单的Scala代码上遇到错误?

  10. 10

    为什么我在这个 python 代码片段中无法迭代?

  11. 11

    我现在没有,为什么我在这个 sql 请求中有错误

  12. 12

    为什么在这个简单的示例中我的背景定位错误

  13. 13

    为什么我收到来自|的语法错误?在这个脚本中?

  14. 14

    为什么在这个While循环示例中答案变量是?

  15. 15

    C ++中的项目Euler#8得到了错误的答案,该答案多少是uint_64的最大值

  16. 16

    我在这个查询中弄什么

  17. 17

    我在这个 IF 中做错了什么?

  18. 18

    我在这个公式中缺少什么?

  19. 19

    我在Matlab中通过矩阵求解线性方程组得到了错误的答案

  20. 20

    使用目标c在Xcode中运行此代码时,我得到了垃圾值

  21. 21

    为什么只使用在这个 C 程序的参数列表中声明的指针传递引用?

  22. 22

    (AJAX / PHP)在这个简短的示例中,为什么我的POST请求不起作用?

  23. 23

    为什么我的菜单栏不显示在这个 vbox 布局中?

  24. 24

    为什么在这个例子中我会收到带有 argv 的崩溃报告?

  25. 25

    为什么我的 POST 在这个简单的 VueJS 表单中失败?

  26. 26

    为什么我需要在这个子选择中硬编码子句?

  27. 27

    为什么在这里我得到了不同的结果?

  28. 28

    为什么在这个简单的Scala代码上出现错误?

  29. 29

    我无法从C ++程序中得到答案

热门标签

归档