无尽的循环

时间:2017-05-08 21:32:44

标签: c++ for-loop infinite-loop

这可能是一个愚蠢的问题,但我实际上无法理解为什么这个FOR循环无限运行。代码如下:

for(int k=0;k<size-1;k++){
    for(int i=k+1;i<size;i++){
        for(int j=k+1;j<size;j++){
            if(k=0){
                a[i][j]=((a[i][j]*a[k][k]) - (a[i][k]*a[k][j]));
            }else{
                a[i][j]=((a[i][j]*a[k][k]) - (a[i][k]*a[k][j]))/a[k-1][k-1];
            }
        }
    }
}

在我的情况下,size的值是3,任何人都可以告诉我为什么这将是一个无限循环?

1 个答案:

答案 0 :(得分:2)

if(k=0){...将值0赋给k,因此在外循环的第二次迭代中,您将跳回&#34;到外循环的第一次迭代。

改为使用if(k==0){...