运算符优先级运算方向,关于三目运算符的使用

前言

点击跳转

运算方向(结合方向)

运算顺序及优先级详情点击跳转

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

 

 

 

 

 

 

posted @ 2021-11-01 18:28  iZJ"Qq4577105  阅读(73)  评论(0编辑  收藏  举报