C++三目运算符的用法(附带实例)
C++ 中的条件运算符“?:”是一个三目运算符,由其构成的条件表达式能像 if else 判断语句一样完成判断。
例如:
可以将上述条件运算语句改为 if else 判断语句,代码如下:
【实例 1 】使用条件运算符判断数的奇偶性。
【实例 2】判断某数是否为 3 和 5 的整倍数。
条件运算符可以嵌套,例如:
例如:
max=(iA > iB) ? iA : iB;上述语句首先比较 iA 和 iB 的大小,如果 iA 大于 iB,max 就取 iA 的值,否则取 i B的值。
可以将上述条件运算语句改为 if else 判断语句,代码如下:
if(iA > iB) max= iA; else max= iB;两种写法是完全等价的。
【实例 1 】使用条件运算符判断数的奇偶性。
#include <iostream> using namespace std; int main() { int input; cout << "Input number" << endl; cin >> input; // 输入一个数 (input % 2 != 0) ? cout << "The value is odd number" : cout << "The value is even number"; // 使用条件运算符判断奇偶性 cout << endl; }运行程序,输出结果为:
Input number
10
The value is even number
【实例 2】判断某数是否为 3 和 5 的整倍数。
#include <iostream> using namespace std; int main() { int input; cout << "Input number" << endl; cin >> input; // 输入一个数 (input % 3 == 0 && input % 5 == 0) ? cout << "yes" : cout << "no"; // 使用条件运算符判断读数是否是3和5的整倍数 cout << endl; }运行程序,输出结果为:
Input number
15
yes
条件运算符可以嵌套,例如:
表达式1?(表达式a?表达式b:表达式c):表达式d;由于条件运算符嵌套后的代码不容易阅读,一般不建议使用。