这个问题已经在这里有了答案:
7年前关闭。
看代码
#include <stdio.h>
int a;
int main(void)
{
int i;
printf("%d %d\n", a, i);
}
输出
0 8683508
这里的“a”用“0”初始化,而“i”用“垃圾值”初始化。为什么?
最佳答案
因为这就是按照C标准的方式。原因是效率:
0
不会产生运行时成本。 关于c - 为什么全局变量总是初始化为 '0',而不是局部变量? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14049777/