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;
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容