W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
有趣的是,+操作符可以用于字符串,它執(zhí)行字符串連接操作。連接是指將字符串首尾相連。例如:
apstring fruit = "banana";
apstring bakedGood = " nut bread";
apstring dessert = fruit + bakedGood;
cout << dessert << endl;
這個(gè)程序的輸出是: banana nut bread。
不幸的是,+操作符不能應(yīng)用于原生C字符串上,所以不能編寫(xiě)這樣的語(yǔ)句:
apstring dessert = "banana" + " nut bread";
因?yàn)樗械牟僮鲾?shù)都是C字符串。但是只要其中一個(gè)是apstring,C++就會(huì)自動(dòng)的轉(zhuǎn)換另一個(gè)。將一個(gè)字符連接到一個(gè)apstring變量的頭或尾都是可以的。下面的例子中,我們會(huì)使用連接和字符算數(shù)來(lái)輸出按字母順序排列的序列。例如,在Robert McCloskey的《Make Way for Ducklings》一書(shū)中,小鴨子的名字分別是Jack,、Kack、Lack、Mack、Nack、Ouack、Pack和Quack.。這是一個(gè)按順序輸出這些名字的循環(huán):
apstring suffix = "ack";
char letter = ’J’;
while (letter <= ’Q’) {
cout << letter + suffix << endl;
letter++;
}
程序的輸出是:
Jack
Kack
Lack
Mack
Nack
Oack
Pack
Qack
當(dāng)然,這并不是很正確,因?yàn)槲移村e(cuò)了“Ouack”和“Quack”。作為練習(xí),請(qǐng)修改程序以修正這個(gè)錯(cuò)誤。
再次提醒,一定要小心使用字符串連接,在應(yīng)用apstring時(shí)可以使用,而在原生C字符串時(shí)不要使用。不幸的是,在C++中,像letter + "ack"這樣的表達(dá)式在語(yǔ)法上是正確的,雖然它會(huì)產(chǎn)生奇怪的結(jié)果,至少在我的開(kāi)發(fā)環(huán)境中是這樣。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: