Closed. This question is off-topic. It is not currently accepting answers. Learn more
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
三年前关闭。
这个让我难堪。这是我的代码来构建一个数组,b[i]的双精度,从0到N,其中N=126。
int N = 126;
double b[N];
int i;
for(i = 0; i < N; i++);
{
    b[i] = (double)i;
    printf("b[%lf] = %d\n",b[i], i);
}

出于某种原因,这就是我得到的:
b[126.000000] = 126

没有别的了。忽略了i为0的初始条件,并且由于某种原因,它将i设置为N的值。奇怪!
我是个c新手,所以我肯定漏掉了一些显而易见的东西。非常感谢您的帮助!
安迪。

最佳答案

错误在于您在;语句末尾使用for loop。这就是为什么程序只是像不在循环中一样执行剩余的语句,而此时i变成了126。

关于c - 难过:for循环无法建立阵列,是否忽略初始条件? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34117974/

10-08 23:13