W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
因?yàn)樵隽亢蜏p量都是很常見的操作,所以C++為它們提供了專用操作符。++操作符的功能是將當(dāng)前變量增加1,它支持int、char和double類型,而--操作符將當(dāng)前變量減少1。這兩個(gè)操作符都不能應(yīng)用于apstring類型,也不能應(yīng)用于bool類型。
從技術(shù)角度講,增加一個(gè)變量的同時(shí)將它作為一個(gè)表達(dá)式是合法的。例如,你可能會(huì)看到這樣的寫法:
cout << i++ << endl;
看這個(gè)例子,增量發(fā)生在輸出之前或者之后并不清楚。因?yàn)檫@種表達(dá)式令人困惑,所以不建議讀者使用。 實(shí)際上,為了進(jìn)一步阻止你使用它,我不會(huì)告訴你該語(yǔ)句的答案。如果想知道,請(qǐng)自行嘗試。
我們可以使用增量操作符重寫字符計(jì)數(shù)程序:
int index = 0;
while (index < length) {
if (fruit[index] == ’a’) {
count++;
}
index++;
}
下面是一個(gè)常見錯(cuò)誤:
index = index++; // 錯(cuò)誤?。?/code>
很不幸,這在語(yǔ)法上是正確的,編譯器不會(huì)給出警告。這個(gè)語(yǔ)句會(huì)導(dǎo)致index的值沒被改變【譯者注1】。這是個(gè)難以定位的bug。
記住,你可以寫index = index +1;,也可以寫index++;,但是不能將他們混到一起。
譯者注1: index = index++; 的實(shí)現(xiàn)與編譯器有關(guān),原書這里的說法不是很準(zhǔn)確。當(dāng)然,這種寫法肯定是要避免的。
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)系方式:
更多建議: