久久午夜无码,国产中文资源,Chinese熟女熟妇2乱2,高清五码d一区

c語言優(yōu)先級表(關(guān)于CC運算符優(yōu)先級問題探討)

c語言優(yōu)先級表(關(guān)于CC運算符優(yōu)先級問題探討)

藤安筠 2025-04-11 科技 12 次瀏覽 0個評論

最近在知乎上看到一個c/c++運算符連寫的問題,引發(fā)了諸多網(wǎng)友的討論,具體內(nèi)容如下圖:

關(guān)于C/C++運算符優(yōu)先級問題探討

乍一看,這句代碼很長,確實有些讓人糊涂,尤其是學習過python的同學,對此寫法不太理解,今天我們一起來說一說。

優(yōu)先級

在c語言的表達式中,如果存在多個運算符的時候,需要考慮數(shù)據(jù)的優(yōu)先級和結(jié)合方向的問題,例如:x = a + b * c -d在這個例子中,c語言的處理流程是:

1. 先做乘法b*c,

2. 然后先做加法,后做減法

3. 最后將計算結(jié)果賦值給x

我們驗證一下:

關(guān)于C/C++運算符優(yōu)先級問題探討

1 + 2 *3 -4,結(jié)果為3,驗證成功!

關(guān)于C/C++運算符優(yōu)先級問題探討

通過這個例子,我們可以總結(jié)如下:對于表達式

a op1 b op2 c ,它的運行邏輯有兩種可能性:

1. 如果op1優(yōu)先級高于op2,則為:(a op1 b) op2 c

2. 如果op2優(yōu)先級高于op1,則為:a op1 (b op2 c)

如果op1與op2優(yōu)先級相同,則取決于結(jié)合方向。所謂結(jié)合方向指的是"從左至右"或"從右至左"。

結(jié)合方向

關(guān)于結(jié)合方向,我們一起來探討一下,還是剛剛的例子:x = a+b *c -d,這里面有二元運算和賦值運算,在c語言中:

· 賦值運算的結(jié)合方向為:從右至左

· 二元運算符的結(jié)合方向為:從左至右

我們假設(shè) b*c 的值為m,則,

· a + m -d 可以翻譯為 (a + m) -d,,結(jié)合方向是從左至右

· x = a + m -d 可以翻譯為: x = (a + m -d),結(jié)合方向是從右至左

在C/C++中,所有的運算符都有明確的優(yōu)先級和結(jié)合方向定義,具體如下:

關(guān)于C/C++運算符優(yōu)先級問題探討

問題解答

鋪墊好了知識點,我們回歸到最初網(wǎng)友的問題上,x +=5 ==4,

由于==號的優(yōu)先級大于+=號,所以這句代碼的邏輯可以解讀為:

1. x += (5 ==4)

2. 即先判斷 5 == 4是否成立,此時不成立,返回false,即返回0

3. 然后再計算x+=0,所以最終結(jié)果為0。

使用代碼驗證一下:

關(guān)于C/C++運算符優(yōu)先級問題探討

執(zhí)行結(jié)果:

關(guān)于C/C++運算符優(yōu)先級問題探討

可以看到,輸出的結(jié)果依然為10,說明x添加的值為0,得到驗證。

接下來,我們修改一下代碼,讓兩個數(shù)字比較值返回true,再次驗證一下結(jié)果,如下圖:

關(guān)于C/C++運算符優(yōu)先級問題探討

執(zhí)行結(jié)果:

關(guān)于C/C++運算符優(yōu)先級問題探討

進一步思考

對于這種x +=5 ==4表達式的編碼風格,我們在開發(fā)中是不建議的,這樣寫雖然高效簡潔、正確運行、看起來很酷,但是存在一個風險,即需要人進一步確認這種表達式是否就是開發(fā)人員的真正意圖。我們在公司開發(fā)的時候,通常是很多同事協(xié)同開發(fā),當同事看到這類代碼的時候,會產(chǎn)生懷疑,從而增加彼此的溝通成本。我們在編碼的時,盡量不要讓人產(chǎn)生歧義,如果一定想要寫這種風格的代碼,我建議加上括號,即:x +=(5 == 4),這樣語義更加明確,從而也避免造成同事因揣摩代碼而帶來的苦惱。

當然,深刻的理解語法是我們必須要做到的,這種代碼常見于面試題中,對于考察面試者對語法的理解程度是個不錯的選擇。

轉(zhuǎn)載請注明來自夕逆IT,本文標題:《c語言優(yōu)先級表(關(guān)于CC運算符優(yōu)先級問題探討)》

每一天,每一秒,你所做的決定都會改變你的人生!

發(fā)表評論

快捷回復(fù):

評論列表 (暫無評論,12人圍觀)參與討論

還沒有評論,來說兩句吧...

国内精品国产原创中文| 十八禁一区二区精品| 人片无码兔费视频中文幕人| 国产av动作片| 亚洲国产精品久久久久午夜成人| 日本色哟哟网站| AV黄片一区二区| 国产毛片二区四区视频| 东京干手机视频| 日本丰满少妇BBXX| 久久久久久无码| 亚洲第一成肉网| 亚洲第一男同导航网站| 国内精品久久久久影院蜜芽蜜芽T| 国产亚洲sss在线观看| 操人妻片| av之家九色| 亚洲Av无码一区二区三区在线播放 | 丝袜亚洲欧美日韩综合| 国产精品四虎在线| 日韩另类调教影院| 日韩久久无码精品一区二| 美女丝袜一级毛片| 成人婷婷| 中国女人久久久| 中文字幕 人妻 日韩| 欧美官网免费播放三区| 欧美国产性A| 午夜无码在线| 一区二区成人毛片| 国产无码se精品| gv精品在线播放| 亚洲综合二区| 国产综合成人久久大片| 夜躁狠狠综合亚洲色| 国产精品白浆一区二区视频| 在线国产真人无码作爱| 五月丁香六月激情综合视频| 成人特黄A级毛片免费视频真实| 99热这里有精品| 特级高清毛片短视频|