这是怎么回事?
# include <stdio.h>
int main(void)
{
int a[4][3];
for(int i=0; i<4; i++)
{
printf("%d\n", a[i][0]);
}
printf("\n");
return 0;
}
为什么输出会是
-858993460
-858993460
-858993460
-858993460
不理解?
[解决办法]
二维数组得不到初始化
for(int i=0; i<4; i++){ a[i][0] = 0;}
[解决办法]
局部变量没初始化系统自动赋随机值
[解决办法]
申请的变量没有初始化成给定的值,程序将其每个字节初始化成了 0xCC(不同的编译器可能不同),对整形来说就是 0xCCCCCCCC,用十进制来显示就是-858993460
[解决办法]
没有初始化
[解决办法]
变量没有初始化,一般编译器不会给你设置初始值。