我正在为我的类(class)做一个程序,我需要在开始之前将数组“decade”的所有值设置为 -1。我试过这个(和 for 循环中的版本),它只是让我陷入无限循环!谁能解释为什么会这样,我该如何解决?
代码:
int decade[9][9], i = 0, k = 0;
while (i<10) {
while (k<10) {
printf("i is %d, k is %d\n",i,k);
decade[i][k] = -1;
k++;
}
k=0;
i++;
}
提前致谢!
打印出来的是:
对于将来需要答案的任何人,将 decade 声明为“decade[10][10]”而不是“decade[9][9]”,或者您定义的任何方式。
最佳答案
当您声明一个大小为 9
的数组时,它具有从 0
到 8
的索引。您转到 9
,这将覆盖内存。这是未定义的行为,可能会导致任意数量的微妙但错误的行为。
关于c - 为什么这样会产生无限循环(C,While Loop),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15855868/