亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 求教--C語言 [打印本頁]

作者: hstking    時(shí)間: 2011-02-16 23:40
標(biāo)題: 求教--C語言
這兩天看了一本書上的代碼,是一個(gè)if條件語句的比較。
if(-1==pid);
我記得當(dāng)初學(xué)C語言的時(shí)候,教材上的例子基本上都是
if(x==-1);
這種形式的。

那么,把常數(shù)放在前面是不是有什么特殊的含義?
這兩種寫法有什么區(qū)別?
哪種寫法比較好?
或者,在哪種情況下用哪種寫法呢?

坐等高手抽空指導(dǎo)。謝謝。
作者: KBTiller    時(shí)間: 2011-02-17 07:04
由于許多人容易把
if(x==-1)
寫成
if(x=-1)

所以有人就想出了一個(gè)餿主意
把常量寫在前面
if(-1==pid)
這樣如果誤寫成了
if(-1=pid)
的話
編譯器可以馬上發(fā)現(xiàn)

在我看來,這不是好辦法,更不是根本解決問題的辦法
因?yàn)槿绻?=”的兩個(gè)運(yùn)算對象中沒有常量的話
這種辦法立刻失靈
所以說是餿主意

根本的解決辦法是養(yǎng)成好習(xí)慣把“=”讀成“賦值”。這個(gè)運(yùn)算也確實(shí)是賦值的意思
作者: drangon    時(shí)間: 2011-02-17 08:43
同意樓上,寫成 if ( -1 == pid ) 好處不大,但對閱讀代碼來說非常別扭

至于將 == 誤寫成 = ,實(shí)際上大多數(shù)的編譯器都會(huì)給出warning的

更重要的時(shí),這樣的bug只要運(yùn)行一次就能馬上發(fā)現(xiàn),單元測試,代碼運(yùn)行覆蓋度測試,是良好習(xí)慣,不但能發(fā)現(xiàn)這樣的bug,而且能發(fā)現(xiàn)大部分的局部bug。

現(xiàn)在很多人寫代碼,特別是其中異常情況處理相關(guān)的代碼,到系統(tǒng)上線都沒有被跑過一次(因?yàn)楹芏嗲闆r出現(xiàn)的概率很低),這樣的系統(tǒng)風(fēng)險(xiǎn)很大的
作者: hellioncu    時(shí)間: 2011-02-17 08:45
好像是林銳的書上是倒著寫的,很多人跟著學(xué)
作者: zhy948    時(shí)間: 2011-02-17 08:49
習(xí)慣問題,沒什么區(qū)別
最好還是 變量==常量
作者: ecjtubaowp    時(shí)間: 2011-02-17 09:31
看自己了
作者: davelv    時(shí)間: 2011-02-17 10:02
gcc -Wall 參數(shù)可以檢測到此類賦值。
作者: wb112200    時(shí)間: 2011-02-17 10:25
這樣寫是為了避免出現(xiàn)誤寫 比如 把 if(i == 3) 誤寫為 if(i = 3)  這時(shí)程序不會(huì)報(bào)錯(cuò) 但是得到的結(jié)果卻變了...
作者: 三月廿七    時(shí)間: 2011-02-17 10:35
同意樓上,寫成 if ( -1 == pid ) 好處不大,但對閱讀代碼來說非常別扭

至于將 == 誤寫成 = ,實(shí)際上大多 ...
drangon 發(fā)表于 2011-02-17 08:43



冒個(gè)泡, 你說了我想說的
作者: xiaobird1982    時(shí)間: 2011-02-17 10:49
if(==) 寫錯(cuò)是大問題, 編譯警告級別高的話可以報(bào)警
作者: amarant    時(shí)間: 2011-02-17 11:50
沒什么好處~感覺看起來很別扭
作者: hstking    時(shí)間: 2011-02-17 17:45
多謝各位高手指教,看來是我想多了。謝謝。
作者: shuihan0739    時(shí)間: 2011-02-18 08:56
這樣寫是為了避免出現(xiàn)誤寫 比如 把 if(i == 3) 誤寫為 if(i = 3)  這時(shí)程序不會(huì)報(bào)錯(cuò) 但是得到的結(jié)果卻變了. ...
wb112200 發(fā)表于 2011-02-17 10:25

同意,這種寫法是<<C缺陷與陷阱>>說的,林銳不是第一個(gè)說,好像
作者: egmkang    時(shí)間: 2011-02-18 19:59
同意,這種寫法是說的,林銳不是第一個(gè)說,好像
shuihan0739 發(fā)表于 2011-02-18 08:56


但是看林銳書的人都高質(zhì)量了啊
作者: Magic_LP    時(shí)間: 2011-02-18 23:16
算是一個(gè)好習(xí)慣吧
作者: pinke8    時(shí)間: 2011-02-19 09:24
這個(gè)就看自己的個(gè)人習(xí)慣了吧,兩種都行
作者: 寂寞不    時(shí)間: 2011-02-23 11:10
同意2樓。




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2