for迴圈語句頭有3個部分:初始化、判讀條件、乙個表示式
有3個疑惑:
1、第一次例如初始化i=0,是否還執行後面的i++或++i?
第一次先初始化,然後判斷,i++就不執行了
2、第一次完了以後,初始化這句就不用了,是先執行i++還是限制性判斷語句呢?
先執行i++
3、現在知道是先執行i++,再執行判斷語句,i++不是後++嗎,例如i為1,那i++後執行判斷語句,i是幾呢?
i是2.
4、好像i++和++i在for()裡時結果都一樣。
都一樣,for語句頭的執行順序決定了這兩個寫法都一樣,都是i++或這++i這兩句執行完了再進行判斷,此時(兩種情況)i已經加1了。
在csdn上看到一篇文章:
在乙個技術qq群中,試著做了一道c的題,感覺是考察for迴圈的執行流程.
原題: 在c語言中,下列**的輸出結果是 ( ) (選擇一項)
void main( )
void main( )
{int i = 0, j = 10;
for(i=0;((print1(i,j)) && (i
執行結果是:
執行判斷條件,i=0,j=10
0,10
執行for迴圈體中的最後一句,i=0,j=10
執行for()中的第三個語句,i=1,j=9
執行判斷條件,i=1,j=9
執行for迴圈體中的最後一句,i=1,j=10
執行for()中的第三個語句,i=2,j=9
執行判斷條件,i=2,j=9
執行for迴圈體中的最後一句,i=2,j=10
執行for()中的第三個語句,i=3,j=9
執行判斷條件,i=3,j=9
執行for迴圈體中的最後一句,i=3,j=10
執行for()中的第三個語句,i=4,j=9
執行判斷條件,i=4,j=9
執行for迴圈體中的最後一句,i=4,j=10
執行for()中的第三個語句,i=5,j=9
執行判斷條件,i=5,j=9
執行for迴圈體中的最後一句,i=5,j=10
執行for()中的第三個語句,i=6,j=9
執行判斷條件,i=6,j=9
執行for迴圈體中的最後一句,i=6,j=10
執行for()中的第三個語句,i=7,j=9
執行判斷條件,i=7,j=9
執行for迴圈體中的最後一句,i=7,j=10
執行for()中的第三個語句,i=8,j=9
執行判斷條件,i=8,j=9
執行for迴圈體中的最後一句,i=8,j=10
執行for()中的第三個語句,i=9,j=9
執行判斷條件,i=9,j=9
9,9--------------
所以執行順序是:初始化--判斷--函式體——然後for迴圈的第3句--判斷——函式體---for迴圈的第三句--判斷……
for迴圈的語句執行順序
在乙個技術qq群中,試著做了一道c的題,感覺是考察for迴圈的執行流程.原題 在c語言中,下列 的輸出結果是 選擇一項 void main j printf d,d i,j a 0,109,9 b 0,10 10,10c 10,10d 9,11 群裡居然有不少人都選了b,那個提問者還一直在問正確的結...
for迴圈的語句執行順序
在乙個技術qq群中,試著做了一道c的題,感覺是考察for迴圈的執行流程.原題 在c語言中,下列 的輸出結果是 選擇一項 void main j printf d,d i,j a 0,109,9 b 0,10 10,10c 10,10d 9,11 群裡居然有不少人都選了b,那個提問者還一直在問正確的結...
筆記 for迴圈語句的執行順序
今天在做如下題目的時候遇到了問題 我當時的 如下 include intmain printf d n return0 當 編譯執行之後便出現了問題,按照輸入輸出樣例來看,輸入1後應該輸出2,但執行結果確實3 隨後經過除錯,網上查詢資訊後發現是對for迴圈語句的理解不到位 乙個簡單的for語句有以下...