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

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

139、以下選項(xiàng)中,不能正確賦值的是

139、以下選項(xiàng)中,不能正確賦值的是

C
包小龍蝦 2018-08-23 16:44:31
139、以下選項(xiàng)中,不能正確賦值的是?A) char s1[10];s1="Ctest";B) char s2[]={'C', 't', 'e', 's', 't'};?C) char s3[20]="Ctest";?D) char *s4="Ctest\n";
查看完整描述

2 回答

已采納
?
onemoo

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

B 選項(xiàng)你應(yīng)該懂的,對吧。? 這就是簡單的用“初始化列表”來初始化數(shù)組。

但我要提醒下:這個(gè) s2 只是個(gè)“字符數(shù)組”,不能當(dāng)作字符串。因?yàn)?s2 中只有這 5 個(gè)字符,沒有結(jié)尾的 '\0',無法構(gòu)成 C 語言中定義的字符串。? s2 作為一個(gè)字符數(shù)組當(dāng)然是合法的,這沒問題。


你還記得我在 35 題(http://idcbgp.cn/wenda/detail/412699)中提到“字符串字面量可以用來初始化字符數(shù)組”吧。? 所以 C 選項(xiàng)是沒問題的。


數(shù)組本身是不能被直接賦值的! 也就是你不能像這樣 s1 = s2 把另一個(gè)數(shù)組 s2 賦值給 s1 數(shù)組。

你應(yīng)該記得“字符串字面量”就是數(shù)組,所以 s1="Ctest" 是不正確的。 其實(shí)這里發(fā)生的事要更復(fù)雜些:這里右側(cè)的字符串字面量同樣會隱式轉(zhuǎn)換為指向首元素的指針,就是說實(shí)際上 s1 是在被試圖用 char 指針賦值。而 s1 是數(shù)組,根本就不能被賦值。

所以 A 選項(xiàng)是錯(cuò)的。

也許你覺得?s1="Ctest" 看起來和 C 選項(xiàng)差不多啊。但關(guān)鍵區(qū)別就是:只能在定義數(shù)組并初始化時(shí)這樣做(參考 C 選項(xiàng)中的解說)


D 選項(xiàng)嘛,你應(yīng)該能夠自己推導(dǎo)了。 等號右側(cè)還是會轉(zhuǎn)換為“指向首元素的指針”,也就是字符指針類型,剛好可以為 s4 作初值。?

還要提醒下:字符串字面量是不可修改的,那么你不能通過指向它的字符指針 s4 來修改這個(gè)字符串中的字符。? 如果你這樣做了,程序在運(yùn)行到此時(shí)通常會出錯(cuò)退出(大概率直接崩潰掉)


順便提一下:前面那個(gè)回答不太正確,s1 是數(shù)組沒錯(cuò)。

順便再黑一下題庫:這個(gè)題目也不嚴(yán)謹(jǐn),應(yīng)該說除了 A 選項(xiàng)是“賦值”外,其余 BCD 都是“初始化”

查看完整回答
反對 回復(fù) 2018-08-24
?
Glitterior

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

A.s1是指針,"Ctest"是字符串,不能賦值

查看完整回答
反對 回復(fù) 2018-08-23
  • 2 回答
  • 1 關(guān)注
  • 4256 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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