5 回答

TA貢獻(xiàn)48條經(jīng)驗(yàn) 獲得超24個(gè)贊
呵呵,很經(jīng)典的問(wèn)題?
year?%?4?==?0?/*?注釋:?year?對(duì)?4?取余(?求模?)?的結(jié)果是否于?0?相等?*/ //?下面的這種寫法和上面的寫法是等價(jià)的,但是更為推薦,因?yàn)閷?==?誤寫做?=?是很多程序員?(?甚至 //?是有較多編程經(jīng)驗(yàn)的程序員?)?易犯的錯(cuò)誤,這種錯(cuò)誤屬于邏輯錯(cuò)誤,比較隱蔽,不易發(fā)現(xiàn)? ????//?比如當(dāng)你想判斷??age?是否等于?20?歲的時(shí)候,使用我們的最佳實(shí)踐法,寫作 ????if?(20?=?year){?//?這里不小心將?==?寫成了?=?,就會(huì)因?yàn)?賦值操作符左邊只能為變量的語(yǔ)法 ????//?檢查而導(dǎo)致錯(cuò)誤暴露出來(lái) ????????//?do?something ????} 0?==?year?%?4?//?這種寫法被稱為?==?的最佳實(shí)踐 //?而??z?=?a?+?b;?是?"將?a?+?b?的值??賦值給?z?",?=?這里讀作?"賦值",?賦值操作符?(?即?"="?)? //?左邊只能是單個(gè)變量,不能是表達(dá)式,?注意和數(shù)學(xué)中的?等于符號(hào)區(qū)別,?這里的賦值操作符并沒(méi)有交換性

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超1個(gè)贊
前者是算數(shù)符號(hào)? 判斷兩邊是否相等
后者是賦值符號(hào)? 規(guī)定把右邊的值賦值給左邊

TA貢獻(xiàn)12條經(jīng)驗(yàn) 獲得超5個(gè)贊
“=”這個(gè)符號(hào)是賦值號(hào),不是數(shù)學(xué)上的等號(hào)。賦值號(hào)的運(yùn)算順序是從右向左,z=a+b的讀法是把a(bǔ)+b的值賦給z。
“==”這個(gè)符號(hào)是等號(hào),它的運(yùn)算順序是從右向左,year%4==0的讀法是year這個(gè)變量取余數(shù)結(jié)果是0,這個(gè)符號(hào)一般用于循環(huán)語(yǔ)句和選擇語(yǔ)句的判定條件,沒(méi)賦值號(hào)用的頻繁。

TA貢獻(xiàn)195條經(jīng)驗(yàn) 獲得超115個(gè)贊
C11規(guī)定左值是變量;
z=a+b這里的z是變量,把a(bǔ)+b的值賦值給變量z
year%4==0意思是左值等于0的情況下。
0==year%4,這里右值不為0等式就是錯(cuò)的

- 5 回答
- 0 關(guān)注
- 2892 瀏覽
添加回答
舉報(bào)