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

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 4529 | 回復(fù): 16
打印 上一主題 下一主題

[C] 求教--C語言 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2011-02-16 23:40 |只看該作者 |倒序?yàn)g覽
這兩天看了一本書上的代碼,是一個(gè)if條件語句的比較。
if(-1==pid);
我記得當(dāng)初學(xué)C語言的時(shí)候,教材上的例子基本上都是
if(x==-1);
這種形式的。

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

坐等高手抽空指導(dǎo)。謝謝。

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 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í)是賦值的意思

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 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)很大的

論壇徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52雙子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午馬
日期:2013-10-18 21:43:38
4 [報(bào)告]
發(fā)表于 2011-02-17 08:45 |只看該作者
好像是林銳的書上是倒著寫的,很多人跟著學(xué)

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2011-02-17 08:49 |只看該作者
習(xí)慣問題,沒什么區(qū)別
最好還是 變量==常量

論壇徽章:
1
CU十二周年紀(jì)念徽章
日期:2013-10-24 15:41:34
6 [報(bào)告]
發(fā)表于 2011-02-17 09:31 |只看該作者
看自己了

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2011-02-17 10:02 |只看該作者
gcc -Wall 參數(shù)可以檢測到此類賦值。

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2011-02-17 10:25 |只看該作者
這樣寫是為了避免出現(xiàn)誤寫 比如 把 if(i == 3) 誤寫為 if(i = 3)  這時(shí)程序不會(huì)報(bào)錯(cuò) 但是得到的結(jié)果卻變了...

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2011-02-17 10:35 |只看該作者
同意樓上,寫成 if ( -1 == pid ) 好處不大,但對閱讀代碼來說非常別扭

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



冒個(gè)泡, 你說了我想說的

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2011-02-17 10:49 |只看該作者
if(==) 寫錯(cuò)是大問題, 編譯警告級別高的話可以報(bào)警
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP