switch函數(shù)c語(yǔ)言 在c語(yǔ)言里switch后不加break會(huì)是什么結(jié)果?
在c語(yǔ)言里switch后不加break會(huì)是什么結(jié)果?事實(shí)上,case后面的常量表達(dá)式只起語(yǔ)句標(biāo)號(hào)的作用,而不起條件判斷的作用,即“只起執(zhí)行開(kāi)始時(shí)的條目標(biāo)號(hào)”。因此,一旦匹配switch后括號(hào)中表達(dá)式的
在c語(yǔ)言里switch后不加break會(huì)是什么結(jié)果?
事實(shí)上,case后面的常量表達(dá)式只起語(yǔ)句標(biāo)號(hào)的作用,而不起條件判斷的作用,即“只起執(zhí)行開(kāi)始時(shí)的條目標(biāo)號(hào)”。因此,一旦匹配switch后括號(hào)中表達(dá)式的值,它就從此標(biāo)簽開(kāi)始執(zhí)行;在執(zhí)行case后的語(yǔ)句,如果沒(méi)有遇到break語(yǔ)句,它就會(huì)自動(dòng)進(jìn)入下一個(gè)case繼續(xù)執(zhí)行,不再判斷是否匹配,在遇到break語(yǔ)句之前,它將停止執(zhí)行并退出switch語(yǔ)句。因此,如果要在執(zhí)行case之后立即跳出switch語(yǔ)句,則必須在該分支的末尾添加break語(yǔ)句。
在switch函數(shù)中是否一定要用break?
在C語(yǔ)言的switch語(yǔ)句中,如果添加break,則跳出switch語(yǔ)句,執(zhí)行switch語(yǔ)句后的語(yǔ)句;如果不添加break,則運(yùn)行switch中的后續(xù)語(yǔ)句,如運(yùn)行到其他后續(xù)情況。在C語(yǔ)言中,switch通常與case、break和default一起使用。當(dāng)常量表達(dá)式表示的數(shù)量與其中一個(gè)case語(yǔ)句中的常量一致時(shí),將執(zhí)行case語(yǔ)句后面的語(yǔ)句,并且將依次執(zhí)行所有case語(yǔ)句中的語(yǔ)句,除非break;語(yǔ)句跳出switch語(yǔ)句。如果常量表達(dá)式的數(shù)量與所有case語(yǔ)句的常量不匹配,則執(zhí)行default語(yǔ)句中的語(yǔ)句并跳出switch語(yǔ)句。1當(dāng)switch語(yǔ)句中使用break時(shí),它可以使程序跳出switch,在switch之后執(zhí)行語(yǔ)句;如果沒(méi)有break語(yǔ)句,則從滿(mǎn)足條件的地方(即switch括號(hào)中表達(dá)式匹配的大小寫(xiě))開(kāi)始,直到switch結(jié)構(gòu)結(jié)束。
2. 當(dāng)在do while、for和while循環(huán)語(yǔ)句中使用break語(yǔ)句時(shí),程序可以終止循環(huán)。對(duì)于執(zhí)行循環(huán)之后的語(yǔ)句,break語(yǔ)句始終與if語(yǔ)句相關(guān)聯(lián)。也就是說(shuō),當(dāng)條件滿(mǎn)足時(shí),循環(huán)就會(huì)跳出。
C語(yǔ)言中,break語(yǔ)句只能用在循環(huán)體中嗎,還可以應(yīng)用在哪里?
首先,在C語(yǔ)言中,程序的執(zhí)行是根據(jù)語(yǔ)句執(zhí)行的。
break語(yǔ)句的范圍:switch structure語(yǔ)句和loop body語(yǔ)句(即for loop和while loop)。
其功能是:跳出switch語(yǔ)句或循環(huán)語(yǔ)句,也就是說(shuō),如果程序執(zhí)行時(shí)switch語(yǔ)句或循環(huán)體語(yǔ)句中出現(xiàn)中斷,程序?qū)⑼顺鰏witch語(yǔ)句或循環(huán)體。
continue語(yǔ)句的作用域:循環(huán)體語(yǔ)句。
其功能是:在一層循環(huán)中,不執(zhí)行一次,如果程序在繼續(xù)后遇到代碼,不執(zhí)行,繼續(xù)執(zhí)行下一層循環(huán)。