c語言中的三目運算子a4aa4是什麼意思

2021-03-03 20:27:48 字數 1379 閱讀 7670

1樓:隨鈊乄鎍_欲

三目元算符

bai 是 3部分 第一du部分 ? 前面zhi 也就是

dao a%4 第二部

專分 ?後面

屬:前面 就是 a 第三部分 就是 : 後面 也就是 a/4三目運算子 根據第一部分的運算結果來確定後面的運算 如果 ? 前面 結果為真 計算第二部分 如果為假 計算 第三部分

所以 首先 是求餘數運算 a % 4

如果結果為真 計算 ?後:前 就是 a, 那麼這個a%4?a:a/4結果就是 a 表示式變為 b = a; 既 b 的值為a

如果結果為假 計算:後 就是 a/4, 那麼這個a%4?a:a/4結果就是 a/4 表示式變為 b = a/4;既 b 的值a/4

2樓:匿名使用者

等效於

if(a%4!=0)

else

c語言中三目運算子是什麼?

3樓:匿名使用者

三目運算子為a?b:c即有三個參與運算的量。由條件運算子組成條件表示式的一般形式為:

表示式1? 表示式2: 表示式3

其求值規則為:如果表示式1的值為真,則以表示式2 的值作為條件表示式的值,否則以表示式2的值作為整個條件表示式的值。 條件表示式通常用於賦值語句之中。

例如條件語句:

if(a>b) max=a;

else max=b;

可用條件表示式寫為 max=(a>b)?a:b; 執行該語句的語義是:如a>b為真,則把a賦予max,否則把b 賦予max。

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

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又是一個條

件表示式。

void main()

用條件表示式對上例重新程式設計,輸出兩個數中的大數。

4樓:匿名使用者

表示式1? 表示式2: 表示式3

這是語法格式 打個比方if(a>1) b=1;else b=2;這是一個很簡單的判斷 如果用三目運算子 就可以寫成b=(a>1)?1:2;可以理解為 a>1 是個判斷條件 如果為真 b就等於1 不為真 就等於2比上面的**簡單 提高執行效率

5樓:匿名使用者

選擇運算,就是a:b?c那個。

C語言中怎樣理解三目運算子(條件運算子)的右結合性

這裡涉及了c中的優先順序 結合性 求值順序。結合性只有在相同優先順序的運算子間才起作用,比如a b c,與 優先順序不同,這裡根本不用去管結合性。而a b c則需要進行結合性考慮了,如果 為左結合性,那麼應該理解為 a b c,如果 為右結合性,那麼應該理解為a b c 當然了,我們已經知道 為左結...

c語言中位移位運算子C語言中位移位運算子

位移運算子 符號 描述 左移 右移 位移運算子作用於其左側的變數,其右側的表示式的值就是移動的位數,運算結果就是移動後的變數結果。b a 2 就是a的值左移兩位並賦值為b。a本身的值並沒有改變。向左移位就是在低位補0,向右移位就是在高位上補0。右移時可以保持結果的符號位,也就是右移時,如果最高位為1...

c語言中邏輯運算子用法,C語言中邏輯運算子用法

1 邏輯運算子bai是根據du表示式的值來返zhi回真值或是假值dao。在c語言中沒有專版門的真值和假值,認定權非0為真值,0為假值。2 邏輯運算子運算規則 或 兩個條件中,只要有一個成立,則結果就成立 與 兩個條件中,兩個同時成立,則結果成立,否則不成立 非 取反之意,如果是真,結果是假,如果是假...