【发布时间】:2018-07-13 11:57:52
【问题描述】:
我刚刚创建了一个大小为 10 的数组
int array[10];
之后我想检查值
for(int i = 0; i < 10; i++){
printf("%d\n", array[i]);
}
但输出与我的预期不同。我虽然所有的值都应该是 0,但输出显示如下:
1996260900
1
0
1995115336
78836
78796
0
68600
0
0
为什么会这样?
提前致谢!
【问题讨论】:
-
顺便说一句。我没有修改数组。印刷就在它的结构下面。
-
C 标准不保证未初始化变量的初始值是
0。事实上,你很幸运早在学习阶段就遇到了这种情况。一些编译器会自动将变量初始化为0,尤其是在调试模式下——因此会无意中隐藏可能的错误。 -
你得到了垃圾值,因为你只声明了数组并且它没有初始化你可以使用循环从用户这样的扫描值 for(int i=0;iprogramiz.com/c-programming/c-for-loop
标签: c