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

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

在switch語(yǔ)句中聲明變量

在switch語(yǔ)句中聲明變量

C
子衿沉夜 2019-09-21 14:15:35
我看到了這個(gè)問(wèn)題的一些答案,但我明白了–您無(wú)法在內(nèi)聲明和分配變量switch。但是我想知道以下是否是正確的拋出錯(cuò)誤錯(cuò)誤:“ int”之前的預(yù)期表達(dá)式碼:switch (i) {    case 0:        int j = 1;        break;}為什么在呼叫NSLog()之前沒(méi)有打入電話?switch (i) {    case 0:        NSLog(@"wtf");        int j = 1;        break;}
查看完整描述

3 回答

?
慕工程0101907

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

如果您根據(jù)語(yǔ)言的語(yǔ)法進(jìn)行操作,則實(shí)際上可以在開(kāi)關(guān)中聲明變量。由于出現(xiàn)錯(cuò)誤,因?yàn)椤?case 0:”是標(biāo)簽,在C語(yǔ)言中,在標(biāo)簽后的第一個(gè)語(yǔ)句中聲明為非法是非法的-請(qǐng)注意,編譯器需要表達(dá)式,例如方法調(diào)用,常規(guī)賦值等。(盡管可能很奇怪,但這是規(guī)則。)


當(dāng)您首先放置NSLog()時(shí),避免了此限制。您可以將案例的內(nèi)容括在{}中以引入作用域,也可以將變量聲明移到開(kāi)關(guān)之外。您選擇哪種取決于個(gè)人喜好。請(qǐng)注意,用{}括號(hào)聲明的變量?jī)H在該范圍內(nèi)有效,因此使用該變量的任何其他代碼也必須出現(xiàn)在這些括號(hào)內(nèi)。


編輯:


順便說(shuō)一下,這種怪異并不像您想象的那樣普遍。在C和Java中,在for,while或do循環(huán)甚至if和else子句中使用局部變量聲明作為lone語(yǔ)句(意思是“不用大括號(hào)括起來(lái)”)也是非法的(實(shí)際上,這是覆蓋益智游戲#55 “的Java謎題”,我強(qiáng)烈建議)。我認(rèn)為,我們一般不寫(xiě)這樣的錯(cuò)誤開(kāi)始,因?yàn)檫@是毫無(wú)意義的變量聲明為在這樣的背景下的語(yǔ)句。隨著開(kāi)關(guān) / 但是,案例構(gòu)造有些人在休息后就省略了花括號(hào) 語(yǔ)句是控制流的關(guān)鍵語(yǔ)句。


要查看編譯器是否符合要求,請(qǐng)將以下可怕的,毫無(wú)意義的代碼段復(fù)制到您的(Objective-)C代碼中:


if (1)

    int i;

else

    int i;

for (int answer = 1; answer <= 42; answer ++)

    int i;

while (1)

    int i;

do

    int i;

while (1);

始終使用{}大括號(hào)分隔此類(lèi)構(gòu)造體的另一個(gè)原因。:-)


查看完整回答
反對(duì) 回復(fù) 2019-09-21
?
qq_笑_17

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

我之前曾遇到過(guò)這個(gè)問(wèn)題,結(jié)論是您只是將代碼放在了一個(gè)塊中。


switch (i) {

case 0:

    {

        int j = 1;

        break;

    }

}


查看完整回答
反對(duì) 回復(fù) 2019-09-21
?
Smart貓小萌

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

我使用的另一個(gè)簡(jiǎn)單的解決方法是在聲明之前添加一個(gè)空表達(dá)式(分號(hào))。這避免了將變量范圍限制為代碼塊(或某些case語(yǔ)句帶有代碼塊,而有些case語(yǔ)句沒(méi)有代碼塊)。


switch (i) {

    case 0:;

        int j = 1;

        break;

}


查看完整回答
反對(duì) 回復(fù) 2019-09-21
  • 3 回答
  • 0 關(guān)注
  • 792 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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