运算符优先级运算方向,关于三目运算符的使用
前言
运算方向(结合方向)
1.
首先它也是个条件运算符,需要注意的是冒号前面true的语句结束是没有分号;的。
x>5? printf("成立") : printf("不成立"); 可见printf("成立") 语句的后面是直接接冒号:的,没有分号,你如果有分号试运行不了的。
2.
三目运算符可以用于简单的条件判断操作,但要注意避免将赋值操作直接嵌套在三目运算符的条件分支中( 三目运算符就相当于一个If(condition)expression1;else expression2; ),以防止产生语法错误。
如:
( (6-modelNum) <= 0 ) ? modelNum = 12 : modelNum = 0;
C语言编译器可能会报错,因为赋值语句不能直接嵌套在三目运算符分支中。可以修改代码以避免这个问题,如下所示:
modelNum = ((6 - modelNum) <= 0) ? 12 : 0;
3.
三目运算符是C语言中的一种条件表达式,其基本语法为:
condition ? expression1 : expression2
condition 是一个条件表达式,如果该条件为真(非零),则表达式的值为 expression1;否则,表达式的值为 expression2。
三目运算符可以用于简单的条件赋值操作,但要注意避免将赋值操作直接嵌套在三目运算符的条件分支中,以防止产生语法错误。
三目运算符通常用于简单的条件判断,可以提高代码的简洁性和可读性。
另外,三目运算符是右结合的,因此可以嵌套使用。如:
int x = 10;
int y = 20;
int z = 0;
z = (x > y) ? x : ((y > 15) ? y : 15);
z最后等于y=20
作者QQ4577105