關於c語言中三目運算子使用注意

2021-08-03 02:51:59 字數 487 閱讀 2787

最近在檢視camera驅動時候,發現一段這樣寫的

然後關於c語言的三目運算又親測了一下。

變化順序輸入上面四個值:

總結起來使用條件表示式時,還應注意以下幾點:

1. 條件運算子的運算優先順序低於關係運算子和算術運算子,但高於賦值符。因此 max=(a>b)?a:b可以去掉括號而寫為 max=a>b?a:b

2. 條件運算子?和:是一對運算子,不能分開單獨使用。

3. 條件運算子的結合方向是自右至左。

例如:a>b?a:c>d?c:d應理解為

a>b?a:(c>d?c:d) 這也就是條件表示式巢狀的情形,即其中的表示式3又是乙個條

件表示式。

C語言中的三目運算子

三目運算子 一般格式x?y z 以前我就是經常看到這個東西就頭大,不知道從什麼地方入手,現在介紹下它的基本運算思路 一般三目運算子 int x,y,max scanf d d d x,y,z max x y?x y printf d n max 定義4個變數x,y,z,max.輸入3個數,賦值給x,...

C 中三目運算子做左值

c語言返回變數的值,c 語言是返回變數本身 c語言中的三目運算子返回的是變數值,不能做為左值使用 c 中的三目運算子可直接返回變數本身,因此可以出現在程式的任何地方 三目運算子可能返回的值中如果有乙個是常量值,則不能作為左值使用 a b 1 b 30 c語言如何支援類似c 的特性呢?當左值的條件 要...

C語言 條件運算子 三目運算子

1 if a b else max a b a b 無論a b是否滿足,都向同乙個變數賦值 條件運算子優先於賦值運算子,所以先求解條件表示式,再將它的值賦值給max 2 a b printf d n a printf d n b 注意此處表示式後面沒有 a b a 100 b 200 表示式2和表示...