前言
在C语言的学习过程中,我们有时会遇到同样的代码在不同的开发环境下调试的结果会有差异甚至是报错,这是因为不同的编译器支持的标准可能不同,或者配置不同或者有的更智能。
今天分享一个与栈和数组有关的小陷阱,通过结果与分析,让大家明白学编程除了有优秀的算法逻辑和数学思维外,也要对专业知识有深层次的解读。
一 问题
在VS开发环境调试下面的代码,进行程序死循环的解释
代码:
int main()
{
int i = 0;
int arr[] = {1,2,3,4,5,6,7,8,9,10};
for(i=0; i<=12; i++)
{
arr[i] = 0;
printf(“hello world!\n”);
}
return 0;
}
运行结果: