今天刷題碰到的乙個坑,就是沒有注意到for迴圈的每次判斷條件導致的**,也就是for迴圈的第二句**,每次迴圈都會執行該判斷條件。
for迴圈的表示式一般如下:
for(表示式1;表示式2;表示式3)
執行的順序為:
第一次迴圈
首先執行表示式1(一般為初始化語句,只執行一次),再執行表示式2(條件判斷語句),判斷表示式1是否符合表示式2的條件,如果符合,則執行表示式4,否則,停止執行,最後執行表示式3.
之後的迴圈:
首先執行表示式2,如果符合,繼續執行表示式4,否則停止執行,最後執行表示式
如此往復,直到不再滿足表示式2的條件。
注意點是當我們修改了for迴圈中表示式2,條件判斷語句時,這時你就要注意的你的for迴圈很可能就會出錯。
#include
#include
using
namespace std;
intmain()
// 10,20
//所以為避免每次q的大小改變,可以設定乙個臨時變數int temp = q.size(); 把temp放到迴圈中。防止非預期結果。
cout << endl;
//這個迴圈會執行四次,因為表示式2沒有改變,表示式1僅進行初始化。
for(
int i = q.
size()
-1; i >=0;
--i)
// 10,20,30,40,
}
for迴圈的執行順序(案例 詳解)
案例分析 include include int main void 執行結果如下 這是怎麼執行的呢?首先需要明確的一點是,for迴圈語句的執行順序 先舉乙個簡單的例子,for int i 0 i 10 i 執行數序是 i 0 初始化初值 i 10 進行判斷,如果條件為真,則繼續執行 執行迴圈體 i...
for迴圈執行順序 for迴圈
語法 for 迴圈初始化表示式 迴圈條件表示式 迴圈後的操作表示式 在 迴圈初始化表示式 中宣告的變數,我們稱之為 迴圈變數 for迴圈執行順序 1 迴圈初始化表示式 最先執行,並且只執行了一次。2 如果 迴圈條件表示式 成立,則執行迴圈體 如果 迴圈條件表示式 不成立,則跳出迴圈。3 迴圈體 執行...
for 迴圈執行順序
for迴圈的執行順序用如下表示式 for expression1 expression2 expression3 執行的順序應該是 1 第一次迴圈,即初始化迴圈。首先執行表示式expression1 一般為初始化語句 再執行expression2 一般為條件判斷語句 判斷expression1是否符...