日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式客棧
[導(dǎo)讀]C語言中 return、 break、continue 是我們常用的三個“流程控制”關(guān)鍵字。

作者 | strongerHuang

微信公眾號 | 嵌入式專欄
C語言中 return、 break、continue 是我們常用的三個“流程控制”關(guān)鍵字。
你能熟練使用這三個關(guān)鍵字嗎?下面來講講這三個關(guān)鍵字,以及相關(guān)的內(nèi)容。

0概述

大部分編程語言中都存在return、 break、continue關(guān)鍵字,它們的作用有相似之處,有“流程控制”的功能。
剛開始編程的時候,可能很多人都會搞混它們的關(guān)系,特別是 break 和 continue 很多人都沒搞明白。
這三個關(guān)鍵字的大概意思:return:跳出當(dāng)前正在執(zhí)行函數(shù)。break:在循環(huán)體內(nèi),結(jié)束整個循環(huán)過程。continue:結(jié)束本次的循環(huán),直接進行下一次的循環(huán)。

1return

return:跳出當(dāng)前正在執(zhí)行函數(shù)。
使用方法:return (表達式);其中,(表達式)是可以省略的。
1.有返回類型return通常都是帶有返回類型的,比如返回int型變量:

int Fun(void){ int rtn;
//函數(shù)代碼;
return rtn;}
這里可以返回變量、結(jié)構(gòu)體、指針等。
強調(diào)兩點:a.return能返回數(shù)組.b.return不能返回指向(函數(shù)內(nèi))局部變量的類型;
2.無返回類型有些情況下,return是無返回類型的。
比如,當(dāng)某個條件成立,需要結(jié)束執(zhí)行本函數(shù):

void Fun(void){ int rtn;
//函數(shù)代碼;
if(條件成立) return;
//函數(shù)代碼;}
強調(diào)兩點:
a.void 空類型因為函數(shù)的返回類型為void(空類型),所以,這里 return 是不帶任何值的。(帶有返回數(shù)據(jù),就會報錯)
b.void * 任意類型指針
void *Fun(void) 這是一個“返回任意類型指針的指針函數(shù)(也是一個函數(shù),只是它返回類型是指針)。

比如uCOS郵箱部分的函數(shù):

2break

break:在循環(huán)體內(nèi),結(jié)束整個循環(huán)過程,然后執(zhí)行循環(huán)之后的代碼。
break常用語 for、 while 和 switch 語句中。比如:

for(i=0; i<100; i ){ //代碼
if(條件成立) break; //跳出for循環(huán)
//代碼}
switch(num){ case 1: //代碼 break
case 2: //代碼 break;}
1.break只挑出當(dāng)前循環(huán)

如果有兩層、甚至多層嵌套的for循環(huán),break只跳出它當(dāng)前所在那個for循環(huán),外層的for循環(huán)依然會繼續(xù)循環(huán)。

比如:

int a=0;int i=0;int j=0;
for(i=0;i<=9;i ){ for(j=0;j<=9;j ) { break; a ; //這里a 不會執(zhí)行; }
a ; //這里a 會執(zhí)行;}printf("%d",a);

內(nèi)層那個a 不會執(zhí)行,所以最后輸出結(jié)果為:10
2.case如果沒有 break 會依順序執(zhí)行

如果 switch 沒有break,比如:

switch(num){ case 1: //代碼 //沒有break;
case 2: //代碼 //沒有break;
case 3: //代碼 //沒有break;}

如果num=2,沒有break,則case 2 和 case 3都會被執(zhí)行。
相信有很多人都在這里踩過坑。

3continue

continue:結(jié)束本次的循環(huán),直接進行下一次的循環(huán)。
和break類似,continue也是用于循環(huán)語句中,只是這里剛好和break相反,這里是繼續(xù)執(zhí)行下一次循環(huán)(而不是跳出循環(huán))。
比如:for(i=0; i<100; i ){ //代碼1
if(條件成立) continue; //執(zhí)行下一次循環(huán)
//代碼2}
如果條件成立,則下面 代碼2 不會被執(zhí)行。
1.continue不用于switch語句中
break用于switch語句中,但continue通常不用于switch語句中。
2.break 和continue 主要區(qū)別
break 語句是結(jié)束整個循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否成立。
continue 語句只結(jié)束本次循環(huán),而不是終止整個循環(huán)。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉