未赋值的C语言数组为何输出随机值?
未初始化的int数组为何输出随机值?
这是我在StackOverflow的第一个问题,若有不当之处还请见谅。我刚学习C语言几天(通过w3schools),今日实验时声明了一个未赋值的int类型数组test[10],读取其值时预期输出全0,但实际得到随机数值。我的代码如下:
#include <stdio.h> int main() { int test[10]; for (int i = 0; i < 10; i++) { printf("%i\n", test[i]); } return 0; }
实际输出为:
0 0 -1787751399 32759 8 0 11 0 29823880 702
我尝试搜索但因经验不足无果,希望能得到相关解答,感谢各位!
编辑:非常感谢所有解答的用户,我也按照建议学习了未定义行为和内存生存期相关内容,再次致谢!
内容的提问来源于stack exchange,提问作者Aditya Iyer
相关产品推荐
相关产品推荐

