第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

這種switch語句塊中default放前面的情況怎么走

這種switch語句塊中default放前面的情況怎么走

繁星coding 2019-05-25 17:12:51
intc,i;for(inti=1;i
查看完整描述

2 回答

?
慕斯709654

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊

首先明確一下switch中的一些注意點(diǎn):
1.
switch語句體由一系列case標(biāo)簽和一個(gè)可選default標(biāo)簽組成。case語句中的兩個(gè)常量表達(dá)式的計(jì)算結(jié)果不能為同一個(gè)值。default標(biāo)簽只能出現(xiàn)一次。標(biāo)記語句不是語法要求,但如果它們不存在,switch語句是無意義的。默認(rèn)語句(即default標(biāo)簽)無需顯示在末尾;它可以顯示在switch語句體的任何位置。case或default標(biāo)簽只能顯示在switch語句內(nèi)。摘自:MicrosoftVisualStudio2015c++Switch語句官方文檔
2.
上述所說的case和default本身就是標(biāo)簽,就是告訴編譯器從滿足這個(gè)標(biāo)簽開始向后執(zhí)行,之后不會(huì)再判斷其他標(biāo)簽的正確性,直到break語句或者switch語句的作用域結(jié)束。
Forthisproblem
STEP1:當(dāng)i=1時(shí),由于i!=2&&i!=4故從default標(biāo)簽后開始執(zhí)行,此時(shí)執(zhí)行語句c+=i;(我們現(xiàn)在就假設(shè)編譯器幫你把c初始化為0,要知道并不是所有的編譯器都這么友好)執(zhí)行后c的值為1;STEP2:綜合上述1,2可知由于此時(shí)沒有碰到任何break語句也沒有到switch語句的作用域結(jié)束(因?yàn)檫@個(gè)default語句是放在第一個(gè)的)所以它接著向后執(zhí)行case2后的語句(此時(shí)編譯器已經(jīng)不看滿不滿足case標(biāo)簽了)此時(shí)執(zhí)行語句c++;執(zhí)行后c的值為2;遇到break語句跳出switch語句。STEP3:當(dāng)i=2時(shí),由于i滿足case2的情況,所以直接從case2便簽后的語句開始執(zhí)行,此時(shí)執(zhí)行語句c++,執(zhí)行后c的值為3,遇到break語句跳出switch語句。STEP4:當(dāng)i=3時(shí),跳出for循環(huán)輸出c=3;(上述過程為本人用VisualStudio2015單步調(diào)試并結(jié)合資料得出的結(jié)論)
                            
查看完整回答
1 反對(duì) 回復(fù) 2019-05-25
?
慕無忌1623718

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊

當(dāng)i=1時(shí)候進(jìn)入default:c=1沒有break所以繼續(xù)向下匹配case2得c=2break當(dāng)i=2時(shí)候優(yōu)先匹配case2進(jìn)入case2:c=3break當(dāng)i=3時(shí)候循環(huán)不成立。輸出c為3
                            
查看完整回答
反對(duì) 回復(fù) 2019-05-25
  • 2 回答
  • 0 關(guān)注
  • 2288 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)