第03天C語言(12):三目運(yùn)算符

一、概念
    // 三目運(yùn)算符格式 : 表達(dá)式? 結(jié)果A : 結(jié)果B
    // 結(jié)合性 : 從左至右
    // 只要條件表達(dá)式 為真 就返回結(jié)果A, 如果條件表達(dá)式為假, 那么就返回結(jié)果B
    // 【int result = (a > b) ? a : b;】 a 大于 b 嗎? 如果 a 大于 b 就返回 a, 否則返回b
    // 三目運(yùn)算符的優(yōu)先級 : 低于關(guān)系運(yùn)算符 和 算術(shù)運(yùn)算符

    /*
     // 1.閱讀性比較差
     // 2.性能也比較差
     int result = (num1 > num2 ? num1 : num2) > num3 ? (num1 > num2 ? num1 : num2) : num3; // 計(jì)算了兩次 (num1 > num2 ? num1 : num2)
     */
二、代碼
#include <stdio.h>
int main()
{
    /*
    int a = 20;
    int b = 15;
//    int result = a > b;
//    int result = (a > b) ? a : b;
    //            25 > 15 ? 20 : 15
    int result = a + 5 > b ? a : b;

    printf("result = %i\n",result);
    */
    
    // 從鍵盤輸入3個(gè)整數(shù), 利用三目運(yùn)算符取出最大值并輸出
    
    // 1.提示用戶輸出三個(gè)整數(shù), 用逗號隔開, 以回車結(jié)束
    printf("請輸如三個(gè)整數(shù), 用逗號隔開, 以回車結(jié)束\n");
    // 2.定義三個(gè)變量保存用戶輸入的數(shù)據(jù)
    int num1 , num2, num3; // 22,12,33
    // 3.利用scanf函數(shù)接收用戶輸入的數(shù)據(jù)
    scanf("%i,%i,%i",&num1,&num2,&num3);
    // 4.比較是三個(gè)數(shù)的大小, 取出最大值
    // 4.1 獲取num1 和 num2中的最大值
    int temp = num1 > num2 ? num1 : num2;
    // 4.2 利用num1 和 num2 中的最大值 和剩下的num3比較
    int result = temp > num3 ? temp : num3;
    
    // youtube寫法 usb寫法
    /*
 
     */
    // 5.輸出結(jié)果
    printf("result = %i\n",result);
    
    
    
    return 0;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容