运行下面的C程序,根据运行结果分析说明。

#include<stdio.h>
int main()
{
int num[5]={1,2,3,4,5};
int i;
for(i=0;i<=5;i++)
printf("%d ",num[i]);
return 0;
}

输出结果1 2 3 4 5 -858993460,前五个正常输出,最后一个是因为数组越界了,你定义的数组num[5]表示可以存放五个值,由于数组下标是从0开始的,所以应该是num[0],num[1],num[2],num[3],num[4],而你写的for循环最大可循环到i=5,此时输出num[5],由于不在数组中所以输出随机值。

结果1 2 3 4 5 32767 ,定义数组长度为5,循环次数超过索引(数组长度)