c語言中關於多個for迴圈的問題

2021-03-12 09:34:48 字數 3053 閱讀 8256

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 ...