第03天C语言(12):三目运算符

一、概念
    // 三目运算符格式 : 表达式? 结果A : 结果B
    // 结合性 : 从左至右
    // 只要条件表达式 为真 就返回结果A, 如果条件表达式为假, 那么就返回结果B
    // 【int result = (a > b) ? a : b;】 a 大于 b 吗? 如果 a 大于 b 就返回 a, 否则返回b
    // 三目运算符的优先级 : 低于关系运算符 和 算术运算符

    /*
     // 1.阅读性比较差
     // 2.性能也比较差
     int result = (num1 > num2 ? num1 : num2) > num3 ? (num1 > num2 ? num1 : num2) : num3; // 计算了两次 (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个整数, 利用三目运算符取出最大值并输出
    
    // 1.提示用户输出三个整数, 用逗号隔开, 以回车结束
    printf("请输如三个整数, 用逗号隔开, 以回车结束\n");
    // 2.定义三个变量保存用户输入的数据
    int num1 , num2, num3; // 22,12,33
    // 3.利用scanf函数接收用户输入的数据
    scanf("%i,%i,%i",&num1,&num2,&num3);
    // 4.比较是三个数的大小, 取出最大值
    // 4.1 获取num1 和 num2中的最大值
    int temp = num1 > num2 ? num1 : num2;
    // 4.2 利用num1 和 num2 中的最大值 和剩下的num3比较
    int result = temp > num3 ? temp : num3;
    
    // youtube写法 usb写法
    /*
 
     */
    // 5.输出结果
    printf("result = %i\n",result);
    
    
    
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容