year%4==0? 為什么不是? 0==year%4z=a+b對吧? a+b=z是錯的那為什么上面是那樣寫啊???
5 回答

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

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

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

- 5 回答
- 0 關(guān)注
- 2869 瀏覽
添加回答
舉報
0/150
提交
取消