- 比直接写if 、else要简洁很多
- 可以写带有判断的赋值语句
- 并且这个语句因为有高级编译器编译,会消耗更少的内存,不会产生赋值的中间变量
#include <iostream>static int s_Level = 8;
static int s_Speed = 2;int main()
{/*if (s_Level > 5)s_Speed = 10;elses_Speed = 5;*///上面注释的语句等价与下面的语句:s_Speed = s_Level > 5 ? 10 : 5;printf("when the level is %d , the player's speed is:%d \n", s_Level, s_Speed);//三元运算语句的嵌套形式(一般尽量不要写嵌套形式)//当等级大于10获得15,当等级在5-10获得10。s_Speed = s_Level > 5 ? s_Level > 10 ? 15 : 10 : 5;printf("when the level is %d , the player's speed is:%d \n", s_Level, s_Speed);
}
输出结果:
when the level is 8 , the player's speed is:10
when the level is 8 , the player's speed is:10