C语言day03-12三目运算符

三目运算符

/**
 
 // 三目运算符格式: 条件表达式 ? 结果A : 结果B
 // 结合性 : 从左至右
 // 只要条件表达式为真就返回结果A,如果条件表达式为假返回结果B
 
 */
#include <stdio.h>

int main()
{
    /*
    int a = 20;
    int b = 15;
//    int result  = a > b;
    // 三目运算符格式: 条件表达式 ? 结果A : 结果B
    // 结合性 : 从左至右
    // 只要条件表达式为真就返回结果A,如果条件表达式为假返回结果B
    // a 大于 b 吗? 如果 a大于b 就返回a, 否则返回b
//    int result = (a > b) ? a : b;
    
    // 三目运算符的优先级 : 低于关系运算符和算术运算符
    //           20 > 15 ? 20 : 15
    int result = a + 5 > b ? a : b;
    printf("result = %i\n",result);
     */
    
    // 从键盘输入3个整数, 利用三目运算符取出最大值并输出
    // 1. 提示用户输入三个整数,用逗号隔开,以回车结束
    printf("请输入三个整数,用逗号隔开,以回车结束\n");
    // 2. 定义三个变量保存用户输入的数据
    int num1, num2, num3;
    // 3.利用scanf 函数接受用户输入的数据
    scanf("%i,%i,%i",&num1,&num2,&num3);    // 12 13 11
    // 4.比较三个数的大小,取出最大值
    // 4.1 获取num1和num2中的最大值
//    int temp = num1 > num2 ? num1 : num2;   // 12 > 13? 13 : 12; temp = 13
//    // 4.2 利用num1和num2中的最大值和 剩下的num3比较
//    int result = temp > num3 ? temp : num3; // 13 > 11? 13 : 11; result = 13
    
    // youtube 写法 usb写法
    // 1.阅读性比较差
    // 2.性能也比较差
    int result = (num1 > num2 ? num1 : num2) > num3 ? (num1 > num2 ? num1 : num2) : num3;
    // 5.输出结果
    printf("result = %i\n",result);
    
    
    return 0;
}

    原文作者:liyuhong165
    原文地址: https://www.jianshu.com/p/733ef4122851
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞