C 學習筆記5 C 之三目運算子的公升級

2021-06-23 07:01:55 字數 475 閱讀 8368

int main()

int a =1;

int b = 2;

(a < b? a:b) = 3;

printf("a = %d, b = %d\n", a,b);

return 0;

上面這段**在c語言編譯器中無法通過,在c++編譯中可以通過

c語言中的三目運算子返回的是變數值,不能作為左值使用

c++中的三目運算子返回的就是變數本身,因此可以出現在任何地方

注意:三目運算子可能返回的值中如果有乙個常量,則不能作為左值使用。

int q = 1;

int p = 2;

(q編譯通過,在c++中三目運算子返回的是變數,在c語言中返回的是值,所以在c++中可以作為左值,在c語言中不可以

//(q;//編譯不通過,三目運算子可能的返回值中如果有乙個常量,則不能作為左值使用

printf("q = %d,p=%d\n",q,p);

學習筆記 C語言 三目運算子

1.n目運算子 像邏輯非 負號 這種只連線乙個資料的符號,稱為 單目運算子 比如 5 5。像算術運算子 關係運算子 邏輯運算子這種連線二個資料的負號,稱為 雙目運算子 比如6 7 8 5 5 6 4 0 以此類推,連線3個資料的運算子,應該稱為 三目運算子 2.三目運算子 c語言提供了唯一乙個三目運...

C 三目運算子 ?

三目運算子 是c 裡唯一乙個三元運算子。其表示式格式為 表示式1 表示式2 表示式3 執行步驟 1 計算表示式1的值 2 若表示式1的值為真 或非0 則只計算表示式2,將其結果作為整個表示式的值 若表示式1的值為假 或為0 則只計算表示式3,將其結果作為整個表示式的值。例,x a b?a b 先計算...

C 條件運算子(三目運算子)

在某些情況下,可以用條件運算子 來簡化if語句。是乙個三元運算子,其構成的表示式格式為 表示式1 表示式2 表示式3 條件運算子的執行流程示意圖如上圖所示,描述如下 1 計算表示式1的值 2 若表示式的值為真 或非0 則只計算表示式2,並將其結果作為整個表示式的值 反之,即表示式1的值為假 或為0 ...