一、c语言中,条件运算符是怎样的法则
由高到低是:!(非),&&(与),||(或)
&&左边为0则不看右边运算,||左边为1不看右边!
printf("a=%d\n b=%d\n c=%d\n d=%d\n",a,b,c,d);
程序执行说明:先执行!b>a即0>a,结果为0(b=0)
再执行0&&c结果为0,执行c>2结果为1
因为执行顺序为右结合,所以将整个表达式的结果给 d为1
运算规划:如果表达式1为真,返回表达式2的结果,否则返回表达式3的结果
二、c语言 条件运算符
1、条件运算符(?:)是一个三目运算符,即有三个操作数。
2、使用条件运算符(?:)可以实现 If else的功能,其一般形式为:
3、执行该语句的语义是:如a>b为真,则把a赋予max,否则把b赋予max。
4、直接编译,程序输出结果中任意输入年龄,程序执行结果如下图所示:
5、条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符
6、条件运算符?和:是一对运算符,不能分开单独使用。
7、条件运算符的结合方向是自右至左。
三、条件运算符是什么
1、条件运算符(?:)是三元运算符,即有三个操作数。
2、使用条件运算符(?:),如果else函数可以实现,其一般形式为:
3、如果(a> b) Max= a;else Max= b;条件表达式可以写成:Max=(a> b)?A: b,执行此语句的语义是:如果a>b为真,则将源a赋给Max,否则将b赋给Max。
4、条件运算符优先级高于赋值、逗号运算符,低于其他运算符。
5、⑵ a++>=10&& b-->20? a: b。
6、等价于:(a++>=10&& b-->20)? a: b。
7、等价于:x=(( 3+a>5)? 100: 200)。
好了,文章到此结束,希望可以帮助到大家。