W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
對同一變量多次賦值在C++里是合法的,這一點之前并沒有多說。第二次賦值的效果是用新值替換掉舊值。
int fred = 5;
cout << fred;
fred = 7;
cout << fred;
這段代碼輸出57,因為第一次打印fred時,其值是5;第二次打印時其值為7。
這種多次賦值的機制正是我把變量形容為值的容器的原因。在為變量賦值時,修改的是容器里的內(nèi)容,如圖所示:
當存在對同一變量的多次賦值時,區(qū)分賦值語句和判等語句就顯得尤為重要。C++使用=符號做賦值操作,因此很容易把諸如a=b這樣的語句理解為判等語句。事實不是這樣!
首先,相等是可交換的,而賦值不可以。比如,數(shù)學(xué)上若a=7則7=a,但是在C++里語句a=7;是合法的,7=a則不合法。
此外,數(shù)學(xué)上的等式永遠為真。若現(xiàn)在a=b,則a永遠等于b。在C++里,賦值語句可以使兩個變量相等,但這兩個變量未必總是相等的。
int a = 5;
int b = a; // 現(xiàn)在a和b相等
a = 3; // a和b不再相等
第三行改變了a的值,但未改變b的值,所以二者不再相等。在很多編程語言中,為避免混淆,賦值用另一種符號代替,如<-或:=。
盡管多次賦值非常有用,但尚需謹慎使用。如果變量的值在程序的不同部分總是在改變,代碼就會非常難以閱讀和調(diào)試。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: