时间:2021-05-02
如果希望获得两个数中最大的一个,可以使用 if 语句,例如:
? 1 2 3 4 5 if(a>b){ max = a; }else{ max = b; }不过,C语言提供了一种更加简单的方法,叫做条件运算符,语法格式为:
表达式1 ? 表达式2 : 表达式3
条件运算符是C语言中唯一的一个三目运算符,其求值规则为:如果表达式1的值为真,则以表达式2 的值作为整个条件表达式的值,否则以表达式3的值作为整个条件表达式的值。条件表达式通常用于赋值语句之中。
上面的 if else 语句等价于:
max = (a>b) ? a : b;
该语句的语义是:如a>b为真,则把a赋予max,否则把b 赋予max。读者可以认为条件运算符是一种简写的 if else,完全可以用 if else 来替换。
使用条件表达式时,还应注意以下几点:
1) 条件运算符的优先级低于关系运算符和算术运算符,但高于赋值符。因此
max=(a>b) ? a : b;
可以去掉括号而写为
max=a>b ? a : b;
2) 条件运算符?和:是一对运算符,不能分开单独使用。
3) 条件运算符的结合方向是自右至左。例如:
a>b ? a : c>d ? c : d;
应理解为:
a>b ? a : ( c>d ? c : d );
这也就是条件表达式嵌套的情形,即其中的表达式又是一个条件表达式。
用条件表达式重新编程,输出两个数中的最大值:
? 1 2 3 4 5 6 7 8 #include <stdio.h> int main(){ int a, b; printf("Input two numbers:"); scanf("%d %d", &a, &b); printf("max=%d\n", a>b?a:b); return 0; }运行结果:
Input two numbers:23 45
max=45
以上就是对C语言的条件运算符知识的讲解,有需要的朋友可以参考下。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
C#条件运算符是指什么呢?让我们首先从概念上了解C#条件运算符: ?:运算符称为条件运算符。有时,它也称为三元运算符。 conditional-expr
C语言中又有哪些运算符呢?如下所示:※算术运算符※赋值运算符※关系运算符※逻辑运算符※三目运算符C语言基本算术运算符如下表:除法运算中注意:如果相除的两个数都是
在C#中常用到的运算符有条件运算符,is运算符,as运算符,typeof运算符等等,接下来在文章中将为大家具体介绍各个运算符的使用方法条件运算符条件运算符用(&
C语言中的运算符是告诉编译程序执行特定算术或逻辑操作的符号。按着用途,C语言的运算符主要分为四大类:算术运算符、关系运算符、逻辑运算符、按位运算符。除此之外,还
C运算符运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C语言内置了丰富的运算符,并提供了以下类型的运算符:算术运算符关系运算符逻辑运算符位运算符赋值运算