【发布时间】:2021-06-01 20:29:02
【问题描述】:
我遇到了一个我想解决但没有弄清楚的问题。
供您参考。在我的大学中,我们使用教授自己编写的 .h 文件,以便我们更轻松地创建矩阵和向量。
矩阵如下所示:
|1|2|3|4|
1.|5|4|3|1|
2.|2|1|8|4|
3.|3|0|7|6|
我现在要做的是从row1column1开始,到row1column4。从那里开始,我不想做行主要顺序。相反,我想去 row2 column4 并向后移动直到 row2 column1。
我的代码如下所示:
int i,j;
for (i = 1; i <= 3; i++)
{
for (j = 4; j <= 1; --j)
{
printf("j: %d", j);
}
}
但这给了我:
i = 1
j= 4,3,2,1
i = 2
j= 4,3,2,1
.....
但我希望它是这样的:
i = 1
j = 1,2,3,4
i = 2
j = 4,3,2,1
.....
我怎样才能得到我想要的样子?
干杯!
【问题讨论】:
-
不会进入这个循环
for (j = 4; j <= 1; --j),因为在循环开始之前就满足了停止条件。 -
@jxh 为什么? j 将从 4 开始递减到 1。还是我不明白你的答案?
-
4 <= 1计算结果为 false,因此循环停止。 -
@jxh 但循环对我有用。 j 不必为 1 即可开始。我将 j 设置为 4,因为我有 4 列并且 --j 将其递减为 1。当它达到 1 时,循环停止。
-
@Lionel Ronaldo 那么 i 等于 3 呢?