【发布时间】:2012-12-27 05:29:50
【问题描述】:
可能重复:
Why are global and static variables initialized to their default values?
查看代码,
#include <stdio.h>
int a;
int main(void)
{
int i;
printf("%d %d\n", a, i);
}
输出
0 8683508
这里 'a' 用 '0' 初始化,但 'i' 用 'junk value' 初始化。为什么?
【问题讨论】:
-
关闭了,但是最明显的原因没有提到:局部变量只是指向栈的指针,栈一直在变化。