我無法弄清楚以下for回圈是如何作業的。
#include <stdio.h>
int main()
{
int i, j, n=4;
for (i = 0, j = n-1; i < n; j = i )
printf("\ni: %d, j:%d", i, j);
return 0;
}
產生:
i: 0, j:3
i: 1, j:0
i: 2, j:1
i: 3, j:2
增量規則j = i 讓我感到困惑。我沒有得到j. 此外,沒有遞增規則i,它增加 1。有人可以解釋一下嗎?
uj5u.com熱心網友回復:
以這種形式撰寫的for回圈
for(init; cond; incr) { instruction bloc }
可以改寫成這種形式:
init;
while(cond)
{
instruction bloc;
incr;
}
所以你可以用另一種方式撰寫你的回圈:
int i, j, n=4;
// first parameter of for loop
i = 0;
j = n-1;
// second parameter of for loop : while the condition is true, stay in instruction bloc
while( i < n) {
// instruction bloc
printf("\ni: %d, j:%d", i, j);
// third parameter: executed after instruction bloc
j = i
}
因此,您可以了解如何增加i和j增加:
j = i ;
可以改寫:
j = i;
i = i 1;
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/433012.html
上一篇:帶有回圈和條件的串列理解
下一篇:VBA回圈遍歷形狀名稱陣列
