为了账号安全,请及时绑定邮箱和手机立即绑定

以下代码,为什么老师结果是两个0,我的结果是num a=168595510 num b=32767,很疑惑,用的mac air,

#include <stdio.h>
int main()
{
    int a;
    int b;
    printf("num a=%d\nnum b=%d\n",a,b);
    return 0;
}


正在回答

5 回答

如果你不给a和b值,他们是未定义行为,他们会给你随机数

0 回复 有任何疑惑可以回复我~

就像老师说的 变量的实质是内存
这个程序每次运行时 都会为变量a、b各自分配一个栈上的内存空间 但每次分配的内存空间都并非跟上一次的相同 所以这个内存上的内容自然就可能不同了

1 回复 有任何疑惑可以回复我~

我的编译器也是两个都是0

0 回复 有任何疑惑可以回复我~

我试了几次,a的值有变化,但是b都是这个值

0 回复 有任何疑惑可以回复我~

这个好像是随机的

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

以下代码,为什么老师结果是两个0,我的结果是num a=168595510 num b=32767,很疑惑,用的mac air,

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信