有如下程序main(){ int x=1,a=0,b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++;
有如下程序main() { int x=1,a=0,b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++;b++; } printf("a=%d,b=%d\n",a,b);}該程序的輸出結(jié)果是A.a(chǎn)=2,b=1 B.a(chǎn)=1,b=1C.a(chǎn)=1,b=0 D.a(chǎn)=2,b=2
正確答案:AC語言規(guī)定case后面跟的必須是整型常量表達式。進入case后,如果沒有遇到break語句就會一直往下執(zhí)行,后面其他case或default分支的語句也會被執(zhí)行到,直到遇到break,或者執(zhí)行到整個switch語句塊的末尾。題目中給出了三個case語句:case 0、case 1、case 2。當x為1時,從case 1語句開始執(zhí)行,因為沒有break語句,將一直執(zhí)行到函數(shù)末尾結(jié)束,即執(zhí)行case 1、case 2兩條語句。執(zhí)行完case 1時,a=1,b=0;執(zhí)行完case 2時,a=2,b=1。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。