三元表达式相当于if结构,这个表达式返回一个值,"?"前面的是判断条件,如果满足判断条件,返回引号前面的值,如果条件不满足,返回引号后面的值。
#include<iostream> #include<string> static int s_Level = 1; static int s_Speed = 2; //设置静态类型static变量是为了限制他们的范围,让这些变量的有效范围只在当前的cpp文件内 int main() { if (s_Level > 5) s_Speed = 10; else s_Speed = 5; s_Speed = s_Level > 5 ? 10 : 5; std::cin.get(); }
s_Speed=s_Level>5?s_Level>10?15:10:5;
这是一个双层嵌套,如果s_Level>5,继续判断s_Level>10,如果>10,返回15,<10返回10,如果<5,返回5