三目運算符怎麼用?

General 更新 2024-05-21

C語言三目運算符怎麼用

a>b:a?b

如果A大於B返回A 如果相反則返回B

C++中三目運算符是什麼,怎麼用

三目運算符是?:結構的運算

所謂三目就是需要三個變量進行運算的操作。它等價於短if-else操作。

舉個簡單的例子:

c=a>b?a:b

這可分成幾個部分,用括號分開:

(a=)(2>1)?(3):(4)

最左邊是賦值操作

第二個部分是一個判斷

第三和第四部分是兩個常數

首先判斷第三部分是否成立,成立即選擇第三部分,否則選擇第四部分

它相當於

if(a>b)

c=a;

else

c=b;

上面的例子用於獲得a和b的最大值。

這種運算還可以嵌套

比如判斷year是不是閏年,是則返回1,不是返回0

flag=(year%100==0)?(year%400==0?1:0):(year%4==0?1:0)

C語言?:三目運算符用法問題。

不帶括號,實際上是這樣的效果(","優先級略低,一般都是最後執行咯)。

temp<=n ? (temp *= 2,m++):(temp = (temp-n)*2-1),m++;

也就是說,不帶括號,你temp<=n成立時候,m++總是會執行兩次,當然對於temp>n是沒問題的。

帶括號,自己比較好理解。

然後,你如果想寫的高大上,簡單點又正確,可以只加後面一個括號。即下面的方式。

temp<=n ? temp *=2,m++:(temp=(temp-n)*2-1,m++)

個人是非常不建議這麼些,代碼給別人看挺麻煩。

C++三目運算符?:是幹嘛用的?

三目運算符 <表達式1> ? <表達式2> : <表達式3> ; ,屬於關係運算符,

常用於關係比較,主要用於比較關係的狀態只有兩種的情況(大於 和 不大於,真 和 假)

先求表達式1的值, 如果為真, 則執行表達式2,並返回表達式2的結果 ; 如果表達式1的值為假, 則執行表達式3 ,並返回表達式3的結果

比如以下表達式:

a>0? a++:(a = 1)

當a>0為真 時,執行a++,整個表達式的值等於表達式a++的值,

當a>0為假 時,執行a=1,整個表達式的值等於表達式a=1的值。

使用三目運算符來求三個數種的最大數。 5分

int max;

//max=(max=(a>b)?a:b)>c? max:c;

C語言中三目運算符是什麼?

三目運算符為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(){

int a,b,max;

printf("\n input two numbers: ");

scanf("%d%d",&a,&b);

printf("max=%d",a>b?a:b);對於你的問題,可以理解為if() 語句一;else 語句二;a? b : c若無疑問 請採納

}

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

三目運算符適用於那些表達

用if能做的三目運算都能做:

if(條件1){

結果1

}else if(條件2){

結果

}else{

結果3

}

條件1 ? 結果1 : ( 條件2 ? 結果2 : 結果3)

用三目運算符怎麼才能輸出字母

三目運算符本身能返回一個值。要讓它輸出,還需要輸出函數。

例如:

int x;

printf("2+3=");

scanf("%d",&x);

printf("%c",x==5?'/':'X');

怎麼用三目運算符編寫這個程序

三目運算符為a?b:c即有三個參與運算的量。

java三目運算符嵌套怎麼用

輸出結果是false

我們把它分成兩份,等號前和等號後,前:true?false:true,問號前就是表達式,表達式就是true,所以執行第一條語句:false。後:true?true:false;問號前還是true,執行true

現在false == true返回結果是false,所以b也就是false了

相關問題答案
三目運算符怎麼用?
劍網三聚靈符怎麼用?
夢幻西遊開運符怎麼用?
三國殺元寶怎麼用划算?
神武通靈符怎麼用?
劍三神行千里怎麼用?
轉義字符怎麼用?
天貓運費險怎麼用換貨?
劍網三兵甲圖譜怎麼用?
運費險怎麼用?