【发布时间】:2017-03-01 05:13:12
【问题描述】:
通过运行此代码
char array[6];
int i;
for ( i = 0; i < 6; ++i )
printf("%i ", array[i]);
可能的输出:
64 0 -64 77 67 0
我得到总是最后一个元素 0,虽然我期待随机值。它依赖于编译器吗?我正在使用 gcc。
【问题讨论】:
-
你得到的不是随机个数字,而是不确定个数字。
-
简单的答案 - 否
-
好奇 - 总是最后一个元素 0。 总是有多少次?
-
由于你的数组是自动存储的,可能是放代码的函数之前的代码,把那个0留在栈中。
-