这可能是一个愚蠢的问题,但我实际上无法理解为什么这个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,任何人都可以告诉我为什么这将是一个无限循环?
答案 0 :(得分:2)
if(k=0){...
将值0赋给k,因此在外循环的第二次迭代中,您将跳回&#34;到外循环的第一次迭代。
改为使用if(k==0){...
。