1樓:匿名使用者
#include
void main()
2樓:匿名使用者
1、最開抄
始進入的是第一層for迴圈,襲在進入第二層for迴圈,一直bai到最後一層dufor迴圈執行完,再返回上一zhi層for迴圈一次,進入dao下一層迴圈,一直到所有迴圈結束。
2、例如:
for(int i=0;i<5;i++)
printf("\n");
}/*這裡是3層迴圈,第一次是i=0,j=0,l=0,一直l=4;在返回j=1,l=0,一直到l=4;再返回上一層迴圈,直到j=4;再返回i=1,直到i=4結束整個迴圈,結果就是迴圈125次:
(最外層是是對應5組,第二層是對應25行,第三層是對應0—4)*/
3樓:聽不清啊
圖中二層迴圈都是迴圈3次,所以就輸出9個aa
迴圈全部結束後輸出bb一次。
4樓:
這個實際bai上不是 多個for迴圈的問du題,而是一個語zhi
句的作用範圍dao的問題
當你需要迴圈的語回句只有一句的時答候,就可以寫成這樣
for(i=0,i<3;i++)
printf("aa\n");
如果有多個的話
就需要用大括號括起來
for(i=0,i<3;i++)
括起來的話,這三句都將迴圈三次。
而不論大括號裡括了多少條語句,for迴圈本身也只算一個語句。
因此,可以分析你剛才那段**
for(i=0;i<3;i++)
for(j=2;j<5;j++)
printf("aa\n");
printf("bb\n");
先看外邊的for ,它沒有使用大括號{} ,因而只將離他最近得一條語句進行迴圈
而這條語句也是一個for迴圈。 第二個for 迴圈也沒有大括號,因此也只將離他最近得語句進行迴圈。即將printf("aa\n");進行迴圈。
而最後的printf("bb\n");沒有在任何迴圈裡邊,所以只執行一次。
for迴圈的巢狀,從外邊進入裡邊,將裡邊的迴圈當做一個整體,幾次迴圈執行完畢後,再回過頭來進行外邊迴圈。總的來說,將裡邊的迴圈看做整體,比較有利於理解。
5樓:劉鴻波
你的程式相對於bai下面這段代du碼:
#include
void main()
}printf("bb\n");}執行
zhi順序如下:
i=0:
j=2;printf("aa\n");j++;
j=3;printf("aa\n");j++;
j=4;printf("aa\n");j++;
i=1;
j=2;printf("aa\n");j++;
j=3;printf("aa\n");j++;
j=4;printf("aa\n");j++;
i=3;
j=2;printf("aa\n");j++;
j=3;printf("aa\n");j++;
j=4;printf("aa\n");j++;
跳出dao巢狀迴圈
執行printf("bb\n");
所以版最終的結果是9個
權aa,一個bb
6樓:
#include
void main()
7樓:匿名使用者
執行的每一步 順序 如下
i=0,i=2,printf("aa\n");
i=0,i=3,printf("aa\n");
i=0,i=4,printf("aa\n");
i=1,i=2,printf("aa\n");
i=1,i=3,printf("aa\n");
i=1,i=4,printf("aa\n");
i=2,i=2,printf("aa\n");
i=2,i=3,printf("aa\n");
i=2,i=4,printf("aa\n");
printf("bb\n");
**這麼寫讓人 能好理解些。
#include
void main()
裡的**
for(j=2;j<5;j++)
}printf("bb\n");//這個print 不屬於任何循答環裡 所以只執行了1次}
8樓:匿名使用者
先是內層迴圈(即j),再迴圈i,因為沒加{}所以迴圈體只有輸出aa那個,最後退出兩個迴圈時才輸出一個bb,謝謝
9樓:匿名使用者
先執行一
抄次最外層的for語句,然後執行第二層的for語句襲,直到第二層執行完畢bai
,又回到第du一層的for語句執行一次
zhi,再執行第二層,結果是外迴圈的for語句執行3次,第二層的for迴圈執行(5-2)*3=9次,第二層的迴圈每執行一次就輸出一個aa,所以輸出9個aa,printf("bb\n")是在for語句的外邊,所以只在最後執行一次,for語句如果每次迴圈都要執行一條以上的語dao句就要在語句外邊加花括號,即如果要執行printf("aa\n");printf("bb\n");兩條語句的話就要寫成
這種形式。
10樓:孤高天子龍
裡面那個迴圈執行3乘3次,外面迴圈執行3次。
原理就是裡面迴圈完了,外面迴圈一次。
11樓:匿名使用者
for巢狀,由外到內。第一層for執行一次,就會到第二層for,直到第二層for迴圈結束,開始第一層for的第二次執行,然後就開始第二層的第二次。。。。直到結束
12樓:秒殺
你可以這樣抄理襲解:
for(i=0;i<3;i++)
printf("bb\n"); //這裡會輸出1個「bb」
13樓:來廈門找我
0,1,2 2,3,4 3*3=9 所以是9個aa 最後迴圈後就是列印bb
c語言中for迴圈怎麼理解C語言中for迴圈怎麼理解?
for迴圈是程式語言中一種開界的迴圈語句,而迴圈語句由迴圈體及迴圈的終止條件兩部分組成,for迴圈一般形式為 for 單次表示式 條件表示式 末尾迴圈體 執行的中間迴圈體可以為一個語句,也可以為多個語句,當中間迴圈體只有一個語句時,其大括號 可以省略,執行完中間迴圈體後接著執行末尾迴圈體 執行末尾迴...
關於for迴圈語句後的分號問題,在C語言中,for語句的後面加分號和不加分號有何不同,該分號有什麼作用?
for 表示式1 表示式2 表示式3 語句 執行過程如下 1 先求解表示式1。2 求解表示式2,若其值為真,則執行for語句中指定的內嵌語句,然後執行下面第3 步 若其值為假,則結束迴圈,轉到第5 步。3 求解表示式3。4 轉回上面第2 步繼續執行。5 迴圈結束,執行for語句下面的一個語句。有分號...
關於C語言中陣列的定義,C語言中如何定義陣列
一樣的,陣列在做函式引數時,傳遞給函式的都是陣列的首指標,哪怕你的函式這樣寫 void swp int p 在呼叫的時候swp array 也是可以的。只要傳遞給函式一個陣列的首指標就行了,而你的array正好是陣列的首指標。char s 10 123 是表示前三個元素分別是1,2,3但s 2 0 ...