在C中声明一个数组时,如下所示:
int array[10];
Run Code Online (Sandbox Code Playgroud)
整数的初始值是多少?我用不同的编译器得到了不同的结果,我想知道它是否与编译器或操作系统有关.
我有以下代码片段.
int j;
printf("%d",j);
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,我得到了垃圾值.
32039491
但是当我在上面的代码片段中包含一个循环时,就像
int j;
print("%d",j);
while(j);
Run Code Online (Sandbox Code Playgroud)
我在该程序的多次试验中得到以下输出.
0
我一直认为局部变量默认初始化为垃圾值,但看起来变量在使用循环时会自动初始化.