A? B: C //问好内容:判断是真还是假
注意: 1. 运算符的优先级
//优先级
3>2? b=4: c=10 // ?: 14级, = 15级 会报错,要将写成整体“3>2? (b=4): (c=10)”
2. 可以用逗号表达式实现多操作
//多表达式
b = 1;
(3>2) ? (b=4,b++) : c+10;
printf("%d\r\n",b)
#include <stdio.h>
#include <stdlib.h>
{
int a; int b; int c=3;
b = (3>2 ? c*2 : c+4);
printf("b -> %d\r\n", b); //6, 如果更改成3<2 结果为7
// 上面的条件表达式等价于下面的条件语句
if(3>2)
{
b = c*2;
}
else
{
b = c+4;
}
}