【发布时间】:2019-06-13 01:13:34
【问题描述】:
使用以下代码:
void pivot(int n, int m, int evi, int lvi, float a[m][n]) {
int i,j;
float s = a[lvi][evi];
for (i = 0; i < n; i++) a[lvi][i] /= s;
for (j = 0; (j < m) && (j != lvi); j++) {
s = a[j][evi];
for (i = 0; i < n; i++) {
a[j][i] -= s * a[lvi][i];
printf("tab[%d][%d] = %f\n", j, i, a[j][i]);
}
}
}
float tab[3][6] = {{0.0}};
tab[0][0] = 200;
tab[0][1] =-200;
tab[0][2] = 60;
tab[0][3] =-60;
tab[0][4] = 1;
tab[1][0] =-100;
tab[1][1] = 100;
tab[1][2] =-150;
tab[1][3] = 150;
tab[1][5] = 1;
当我打电话时
pivot(6,3,0,0,tab)
pivot 函数中的第二个 for 循环(带有 && 运算符)永远不会进入,为什么?
【问题讨论】:
-
(j
-
为什么循环条件中有
j != lvi?那应该完成什么? -
当然但是for循环永远被输入
-
@ThomasKirven 只有在条件为真时才会进入循环。
-
你认为第一次迭代之前没有检查条件吗?
标签: c for-loop conditional