c語言迴圈巢狀怎樣從最裡邊的迴圈跳出來

2021-07-23 05:24:16 字數 4388 閱讀 1368

1樓:兔子和小強

雖然書上不建議使用goto,但有時候比如從多重迴圈跳出使用goto,簡潔,又方便。

不濫用goto就可以了。

2樓:w休息的風

不推薦使用goto語句。而return它是直接返回了。該函式執行完畢了。

你可以使用這個return來實現。但是你只是單純跳出整個迴圈,而且還想繼續往下執行,那麼你就不能用return了。你可以把演算法改改試試。

3樓:匿名使用者

可以設定標誌變數flag,初始值為0,當最內層的迴圈達到你的要求的時候flag=1,之後再break,外層迴圈加上一句if(flag==1)break;就可以了

4樓:沐漁紫露

可以設定一箇中間變數,若有了輸出結果則此變數被賦值為1,在內迴圈外外迴圈內判斷這個中間變數,若為1說明要跳出整個迴圈,再用break就ok了;如:

int i=0;

for(;;)

if(i==1)

break;}

5樓:

辦法很多,提供四種:

這種情況下goto是最好使的,注意規避它的弊端就是了。

如果在自定義函式裡,又已完成了操作,一個return;就解決問題了。

只想跳出這一多層迴圈,**還要繼續,那就得事先設定一個變數記錄這種情況,在要跳出的break;前改變這個標記;在每層迴圈的最後判斷這個標記,符合跳出條件時就break;,層層照此辦理即可。

在要跳出的break;前面,把所有外層迴圈的控制變數都修改為無效——這辦法雖有效,但條件是每層不得再有**執行,就是說break的那一層邏輯上總是在外層的最後。

6樓:匿名使用者

初學請用break

高手請goto

c語言的迴圈巢狀是先執行最裡面的迴圈在依次往外迴圈?

7樓:寶寶

所有的語copy

言都是順序執行的,自bai

上而下,自左而有。程式從外迴圈du執行zhi下去,遇到內迴圈後就執行內迴圈語dao句。內迴圈語句執行完成後,繼續往下執行,遇到外迴圈的語句時,進入下一次外迴圈。

跟大家說下c語言迴圈的知識,以下以for迴圈為例,內迴圈與外迴圈的區別在於{}的位置:

for(int i = 0;i<10;i++)}其中for(int j=0;j<10;j++)為內迴圈,for(int i = 0;i<10;i++)為外迴圈,執行過外迴圈之後才會執行內迴圈。

8樓:琦玉

for( "1" )

}首先,程式執行到第一個for迴圈,進入後執行第二個for迴圈,當跳出第二個循內環後接著往下容進入第一個for迴圈內部繼續執行

c語言裡,在迴圈巢狀中continue語句跳出本次迴圈時,跳出的是內迴圈還是整個外迴圈?

9樓:匿名使用者

continue 均是跳出內迴圈 ,

如果你要跳出外迴圈 只有自己加個跳出標識

在迴圈前判斷標識,手動跳出

10樓:匿名使用者

是內迴圈啊,continue跳過的是當前迴圈的這一次操作,繼續進行當前迴圈的 下一次操作

11樓:匿名使用者

一般做法是每一級迴圈定義一個額外的標誌來決定迴圈是否退出,如:

bool bisend = false;

while(!bisend)} }

c語言的迴圈巢狀是先執行最裡面的迴圈在依次往外迴圈?

12樓:匿名使用者

始終記住一點,目前所有的語言都是順序執行的。程式從外迴圈執行下去,遇到內迴圈後就執行內迴圈語句。內迴圈語句執行完成後,繼續往下執行,遇到外迴圈的右}時,進入下一次外迴圈。

下一次外迴圈又會執行內迴圈。這樣子說應該明白了吧。建議你多看本基礎的書,自己系統的學一遍基礎知識,養成計算機的思考方式。

靜下心來看一下the c programming,一遍看不懂看2遍。這是c語言創始人寫的,他對c的瞭解比其他人深刻的多。有英文基礎的話最好英文版的。

13樓:仍語

所有的語言都是順序執行的,自上而下,自左而有。程式從外迴圈執行下去,遇到內迴圈後就執行內迴圈語句。內迴圈語句執行完成後,繼續往下執行,遇到外迴圈的語句時,進入下一次外迴圈。

for(int i = 0;i<10;i++)

}其中for(int j=0;j<10;j++)為內迴圈,for(int i = 0;i<10;i++)為外迴圈,執行過外迴圈之後才會執行內迴圈。

14樓:比利_嗨靈頓

、最開始進入的是第一層for迴圈,在進入第二層for迴圈,一直到最後一層for迴圈執行完,再返回上一層for迴圈一次,進入下一層迴圈,一直到所有迴圈結束。

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)*/

15樓:琦玉

for( "1" )

}首先,程式執行到第一個for迴圈,進入後執行第二個for迴圈,當跳出第二個迴圈後接著往下進入第一個for迴圈內部繼續執行

c語言裡if語句可以巢狀for迴圈麼

16樓:聽不清啊

c語言裡if語句

裡是可抄以巢狀for迴圈的(if語句裡可以放c語言裡的任意的執行語句)。

舉例說:

char yn;

int i;

printf("需要列印1到10之間的所有奇數嗎(y/n)?\n");

scanf("%c",&yn);

if(yn=='y'||yn=='y')

else

printf("那就不列印了\n");

17樓:匿名使用者

當然可以,肯定是你記錯了

比如int n=5,i=0;

if(n==5)

}else

18樓:詭其辭

記錯了吧?可以巢狀。

19樓:匿名使用者

if 換成while

c語言的for迴圈巢狀怎麼執行的?

20樓:突突無限

結果如抄圖,有140個a ,for迴圈巢狀進襲行,每次先進行了完了一次內部迴圈,再進行外部迴圈,例如

for(i=0;i<5;i++)for(j=0;j<5;j++)每次執行一次第一個i的迴圈,就會執行五次j的迴圈。

還有,你的程式有一點錯誤:getch()是定義在庫函式conio標頭檔案中的,所以開頭加上#include就行了

不知道我的回答你是否滿意。

21樓:匿名使用者

1.你的問題直bai接答案:先執行完du所有內迴圈,zhi再執行外迴圈,dao

然後k=i;再進入內專迴圈。內屬迴圈執行完成後再到外迴圈。

2.流程控制:順序,選擇,迴圈(流程控制都看不懂,學程式語言學不會的)。

簡單解析你的問題:

先外迴圈for(i=0(只執行一次);i

3.不懂可以繼續問,不幫你弄懂說明我的理解不深刻。

22樓:連冉家谷之

可以寫成if(i==x),但不能寫成if(i=x)

i的確是不可能大於x,但是i>=x是隻要滿足i>x或者i=x就能執行的,所以條件寫i>=x和i==x是沒區別的.

23樓:蕭竣閏

外層迴圈執行復一次,制內迴圈執行所有符合條件的次數。

例:for(i=1;i<=5;i++)

}i=1時j=1,j=2,j=3,j=4,j=5;即外層迴圈迴圈了一次,內層迴圈了5次。

所以外迴圈共迴圈了5次,內迴圈共迴圈了25次

24樓:匿名使用者

在vc6.0中 for(i=0;i<4;i++)處新增斷點(f9),然後執行到斷點處按f10 除錯執行一直到結束

25樓:匿名使用者

for(i=0第一步;i<4第二部;i++第四步)

{ 第三步{

26樓:匿名使用者

用vc6 自己除錯一步步執行下就知道了

27樓:三十褚龍

(4+3+2+1)*(5+4+3+2)=140個

c語言中,for迴圈裡巢狀了switch迴圈,switch循

不光是在while裡 在所有的迴圈中,如for,do.while,while裡。break都是跳出當前這一層的迴圈,要是多層迴圈的話,也是隻跳出這一層迴圈。終止這一次的迴圈是用continue.reak 是跳出迴圈體 執行下面的語句的意思 在你這個題目中是 switch 語句回巢狀在for語句當中!...

c語言的迴圈巢狀是先執行最裡面的迴圈在依次往外迴圈

所有的語copy 言都是順序執行的,自bai 上而下,自左而有。程式從外迴圈du執行zhi下去,遇到內迴圈後就執行內迴圈語dao句。內迴圈語句執行完成後,繼續往下執行,遇到外迴圈的語句時,進入下一次外迴圈。跟大家說下c語言迴圈的知識,以下以for迴圈為例,內迴圈與外迴圈的區別在於 的位置 for i...

c語言的迴圈巢狀是先執行最裡面的迴圈在依次往外迴圈

始終記住一點,目前所有的語言都是順序執行的。程式從外迴圈執行下去,遇到內迴圈後就執行內迴圈語句。內迴圈語句執行完成後,繼續往下執行,遇到外迴圈的右 時,進入下一次外迴圈。下一次外迴圈又會執行內迴圈。這樣子說應該明白了吧。建議你多看本基礎的書,自己系統的學一遍基礎知識,養成計算機的思考方式。靜下心來看...