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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

長(zhǎng)度跟字符N的關(guān)系

在用第2中格式定義字符串 char 字符竄名稱(chēng)[長(zhǎng)度m]={'字符1'',字符2','...','字符n','\0'} 中

字符串的長(zhǎng)度m 跟 字符n 的關(guān)系是什么 是m=n? m=n+1? ?還是m>n?

還有下面這段代碼為何運(yùn)行結(jié)果是 bcef?

#include?<stdio.h>
int?main()
{
????char?s1[4]={'ab','c','de','f','gh','\0'};
????printf("%s\n",s1);
????return?0;????
}


正在回答

1 回答

這個(gè)代碼中有很多不正確或不規(guī)范的地方。

  • 你在定義s1數(shù)組時(shí)指定了數(shù)組大小為4,但卻用一個(gè)超過(guò)4個(gè)元素的列表去初始化它。在編譯時(shí)會(huì)有警告的。

  • 單引號(hào)用來(lái)表示單個(gè)字符,應(yīng)該括起單個(gè)字符。 不過(guò)C也確實(shí)允許括起多個(gè)字符,這特性叫multi-character,然而C標(biāo)準(zhǔn)對(duì)多個(gè)字符在內(nèi)存中如何存儲(chǔ)沒(méi)有規(guī)定。

    gcc在小端機(jī)器上好象是把最后一個(gè)字符放到低地址位上,這樣一來(lái)用 'ab' 給數(shù)組元素初始化時(shí),數(shù)組中的元素得到的是 'b' 這個(gè)字符。所以數(shù)組得到的前4個(gè)字符為 b c e f,后面有留空,這空白在printf中被當(dāng)作了'\0',作為字符床的結(jié)尾,所以最后會(huì)輸出bcef。

在實(shí)際寫(xiě)代碼時(shí)千萬(wàn)不要這樣寫(xiě)!

5 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_圓圓_0 提問(wèn)者

非常感謝!
2015-10-17 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

長(zhǎng)度跟字符N的關(guān)系

我要回答 關(guān)注問(wèn)題
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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