gpt4 book ai didi

c - 不满足循环条件,不知道为什么

转载 作者:行者123 更新时间:2023-12-02 08:03:30 24 4
gpt4 key购买 nike

使用以下代码:

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 循环(使用 && 运算符)从未被输入,为什么?

最佳答案

for 循环在条件变为假时立即停止。如果循环开始时为假,则根本不会进入循环。

如果你想跳过某些行,你应该把检查放在循环体中。

  for (j = 0; j < m; j++) {
if (j == lvi) {
continue;
}
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]);
}
}

关于c - 不满足循环条件,不知道为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54259609/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com