我正在运行一个基本循环来检查二维数组的上对角线元素的值:
//Check upper diagonal
for (i = 0; i < n; i++){
for (j = i+1; j<(n-1); j++){
printf("n: %d i: %d j: %d\n",n, i, j);
if (myA[i][j] > pow(10,-13)) return 0;
}
}
但是,这段代码并没有准确地检查我想要的元素。我放置在内循环中的打印语句给出以下输出:
n: 4 i: 0 j: 1
n: 4 i: 0 j: 1
n: 4 i: 0 j: 2
n: 4 i: 1 j: 2
特别具有挑战性的部分是在第一行和第二行之间。似乎 j 在中间循环的第一次迭代之后没有像我预期的那样递增。
为什么我的输出的第二行不显示j: 2
?