日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

C 语言中,x += 5 == 4 是什么意思?

發(fā)布時(shí)間:2023/12/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C 语言中,x += 5 == 4 是什么意思? 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

#討論這個(gè)有意義嗎?

這個(gè)是在知乎上看到的一個(gè)問(wèn)題,評(píng)論挺多的。其中有人提到,研究這個(gè)東西有什么用?編程的時(shí)候我們不能這么寫(xiě)的。我記得在大學(xué)的時(shí)候,我們的副院長(zhǎng)給我們上課,就給我們提到,要習(xí)慣并且喜歡使用 「( 」和 「)」,這兩個(gè)符號(hào)。

所以上面的表達(dá)式,如果想表達(dá)清楚自己的意圖,可以這樣寫(xiě)

((x?+=?5)?==?4)

或者是

(x?+=?(5?==?4))

但是有些程序員為什么喜歡這樣寫(xiě)呢?

我們可以肯定,寫(xiě)出這樣代碼的人,一定對(duì)運(yùn)算符優(yōu)先級(jí)背得滾瓜爛熟了。如果作為一個(gè)程序員,他認(rèn)為對(duì)運(yùn)算符要了如指掌,他覺(jué)得別人對(duì)這個(gè)代碼肯定一眼就能看懂,他寫(xiě)出這樣的代碼也是沒(méi)有問(wèn)題的。

我們學(xué)這樣的代碼有什么用?

學(xué)習(xí)這樣并不表示我們要寫(xiě)出這樣的代碼,而是,我們?nèi)绻诠ぷ鲗W(xué)習(xí)中,遇到這樣的代碼,我們就一眼能看出來(lái)這個(gè)代碼的作用。

C語(yǔ)言的標(biāo)準(zhǔn)有幾百頁(yè),大部分人不會(huì)仔細(xì)研究每個(gè)細(xì)節(jié),有些工程師覺(jué)得某些東西沒(méi)有用,大概率是因?yàn)樗谧约旱墓ぷ髦袥](méi)有用到。有的程序員喜歡研究或者在工作中需要使用這樣的方法,這就是這種代碼存在的其中一個(gè)原因吧。

#表達(dá)式和運(yùn)算符優(yōu)先級(jí)

C語(yǔ)言在一個(gè)表達(dá)式中,如果遇到幾個(gè)運(yùn)算符,要考慮優(yōu)先級(jí)結(jié)合方向

比如,表達(dá)式 x pri1 y pri2 z,可能出現(xiàn)兩種可能性

  • (x pri1 y )pri2 z

  • x pri1 (y pri2 z)

如果運(yùn)算符 pri1 的優(yōu)先級(jí)比pri2 高,那么就是上面的第一種情況。

如果運(yùn)算符 pri1 的優(yōu)先級(jí)比pri2 低,那么就是上面的第二種情況。

如果優(yōu)先級(jí)相同,那就要考慮結(jié)合方向。

結(jié)合方向是 「左到右」或者「右到左」。

例如,「= 」 的結(jié)合方向是 「右到左」。

所以

a = b = c ?表達(dá)式的意義是 a =( b = c ?)

而 「+」的結(jié)合方向是 「左到右」

所以

a + b + c ?表達(dá)式的意義是 (a + b) + c

#C語(yǔ)言運(yùn)算符優(yōu)先級(jí)

#解析上面的表達(dá)式

x?+=?5?==?4
  • 「+=」 的優(yōu)先級(jí)是14

  • 「 ==」 的優(yōu)先級(jí)是 7

所以上面表達(dá)式的意義是

x?+=?(5?==?4)

運(yùn)行一下

#表達(dá)式的巧用

很多人不怎么用這種取巧的寫(xiě)法,我這兩天看代碼看到一個(gè),截圖給大家看看,非常簡(jiǎn)單,也是一種取巧的方法,挺有意思的。一般情況下,我們還是會(huì)把 x = y 寫(xiě)在if 外面,直接寫(xiě)在if里面還是挺有意思的。

如果寫(xiě)成下面這樣的話會(huì)輸出什么呢?評(píng)論給出你的答案~

#include?"stdio.h"int?main(void) {int?x?=?2;?int?y?=?4;int?z?=?4;if(?x?=?y?>=?z){printf("-----------01\n");}return?(0); }?

? 回復(fù)「?籃球的大肚子」進(jìn)入技術(shù)群聊

回復(fù)「1024」獲取1000G學(xué)習(xí)資料

總結(jié)

以上是生活随笔為你收集整理的C 语言中,x += 5 == 4 是什么意思?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。