1. 程式人生 > >C語言中唯一的一個三目運算子(條件運算子)

C語言中唯一的一個三目運算子(條件運算子)

“(a>b)?a:b”是一個條件表示式,如果(a>b)條件為真,則條件表示式去值a,否則取值b。

一般形式:表示式1?表示式2:表示式3,它是C語言中唯一的一個三目運算子。

執行順序:先求解表示式1,若為非0(真)則求解表示式2,此時表示式2的值作為整個條件表示式的值。若表示式1的值為0,則求解表示式33,表示式3的值作為整個條件表示式的值.

例如:max=(a>b)?a:b,執行結果就是將a和b中大者賦給max。(條件運算子的優先順序高於賦值運算,低於關係運算和算術運算)

例子:輸出a,b中較大者

#include<stdio.h>


int main (void)
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",a>b?a:b);
return 0;
}