W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
對(duì)同一變量多次賦值在C++里是合法的,這一點(diǎn)之前并沒有多說(shuō)。第二次賦值的效果是用新值替換掉舊值。
int fred = 5;
cout << fred;
fred = 7;
cout << fred;
這段代碼輸出57,因?yàn)榈谝淮未蛴red時(shí),其值是5;第二次打印時(shí)其值為7。
這種多次賦值的機(jī)制正是我把變量形容為值的容器的原因。在為變量賦值時(shí),修改的是容器里的內(nèi)容,如圖所示:
當(dāng)存在對(duì)同一變量的多次賦值時(shí),區(qū)分賦值語(yǔ)句和判等語(yǔ)句就顯得尤為重要。C++使用=符號(hào)做賦值操作,因此很容易把諸如a=b這樣的語(yǔ)句理解為判等語(yǔ)句。事實(shí)不是這樣!
首先,相等是可交換的,而賦值不可以。比如,數(shù)學(xué)上若a=7則7=a,但是在C++里語(yǔ)句a=7;是合法的,7=a則不合法。
此外,數(shù)學(xué)上的等式永遠(yuǎn)為真。若現(xiàn)在a=b,則a永遠(yuǎn)等于b。在C++里,賦值語(yǔ)句可以使兩個(gè)變量相等,但這兩個(gè)變量未必總是相等的。
int a = 5;
int b = a; // 現(xiàn)在a和b相等
a = 3; // a和b不再相等
第三行改變了a的值,但未改變b的值,所以二者不再相等。在很多編程語(yǔ)言中,為避免混淆,賦值用另一種符號(hào)代替,如<-或:=。
盡管多次賦值非常有用,但尚需謹(jǐn)慎使用。如果變量的值在程序的不同部分總是在改變,代碼就會(huì)非常難以閱讀和調(diào)試。
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)系方式:
更多建議: