我不明白以下for循环的流程:它变成了一个无限循环.我使用的是ubuntu 12.04.我在这里做错了吗?
#include <stdio.h>
main()
{
int k,a[10];
for(k=0; k<=10; k++)
{
a[k]=1;
printf("k = %d\n",k);
}
}
Run Code Online (Sandbox Code Playgroud)
一旦k == 9,它会自动更改为1.我不知道它为什么会这样.我究竟做错了什么?
for(k=0; k<=10; k++)
Run Code Online (Sandbox Code Playgroud)
此访问超出绑定索引.a[10](索引以0有效索引开头0-9)超出约束并调用未定义的行为.
循环应该是这个 -
for(k=0; k<10; k++)
Run Code Online (Sandbox Code Playgroud)