企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 三目运算符 ## 条件运算符概念 - 条件运算符是C语言的唯一的三目运算符,即它需要3个数据或表达式构成条件表达式 - 格式: + 表达式1?表达式2(结果A):表达式3(结果B) - 求值规则: + 如果表达式1为真,三目运算符的运算结果为表达式2的值(结果A),否则为表达式3的值(结果B) 示例: ``` int a = 10; int b = 20; int max = (a > b) ? a : b; printf("max = %d", max); // 输出结果: 20 ``` 等价于: ``` int a = 10; int b = 20; int max = 0; if(a>b){ max=a; }else { max=b; } printf("max = %d", max); ``` ## 注意点 - 条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符。 ``` 例如: max=(a>b)? a:b; 可以去掉括号而写为: max=a>b?a:b; ``` - 条件运算符?和:是一对运算符,不能分开单独使用。 - 条件运算符的结合方向是从右至左 例如: ``` a>b?a:c>d?c:d; // 应理解为: a>b?a:(c>d?c:d) ``` ## 练习 问:用户从键盘上输入三个整数,找出最大值吗,然后输入最大值。 思路: 1. 定义变量 num1,num2,num3,max 2. 先比较 num1 和 num2,比较的结果存放到max 3. max和第三个数比较 ``` #include<stdio.h> int main(){ int num1, num2, num3; printf("请输入三个整型,使用逗号分割,并以回车结束输入\n"); scanf("%i,%i,%i",&num1, &num2, &num3); int temp = num1 > num2 ? num1 : num2; int resault = temp > num3 ? temp : num3; printf("你输入的最大整型是:%i\n\n" , resault); return 0; } ```