簡體   English   中英

循環 C++ 中的條件語句

[英]conditional statement in loop c++

for (i = 1; i <= a; i++){
    for (b = 1; b <= i; b++){
        cout << "X";
    }
    cout << endl;
}

如果 a=4,結果將是

X

XX

XXX

XXXX

而這個輸出

for (i = 1; i <= a; i++){
    for (b = 1; b <= a - i; b++){
        cout << "A";
    }
    cout << endl;
}

將會

AAA

AA

A

我認識到條件語句中的不同,但我無法解釋為什么會這樣。

對於您的第一個示例,第一個 for 循環運行,因為 1 小於 (4)。 然后它將移動到下一個 for 循環。 所以 b = 1,並且 1 等於 1,它將運行並打印出 X。現在循環將結束,外部 for 循環將增加到 2,並重復。

查看內部循環的停止條件:

b <= i;
b <= a - i;

現在,讓我們從i是 1 開始:

b <= 1;
b <= 3;

並且,以i為 4 結束:

b <= 4;
b <= 0;

考慮到你的b的初始化:

b = 1;
b = 1;

將它們全部結合起來 => b s 的循環范圍將是[1; 4] [1; 4][3; 1] [3; 1]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM