📅  最后修改于: 2023-12-03 14:39:54.691000             🧑  作者: Mango
条件运算符也称为三目运算符,它是 C++ 中一个常用的运算符。它的简单语法为:
条件 ? 表达式1 : 表达式2
它的含义是如果条件为真,则执行表达式1,否则执行表达式2。现在我们来看一些例子:
#include <iostream>
using namespace std;
int main()
{
int a = 10, b = 20;
int max_value = (a > b) ? a : b;
cout << "max_value = " << max_value << endl;
bool is_true = true;
string result = (is_true) ? "真" : "假";
cout << "result = " << result << endl;
int x = 5, y = 7;
(x > y) ? (x += 10) : (y += 10); // 注意这里括号的使用,可以使代码更易读
cout << "x = " << x << ", y = " << y << endl;
return 0;
}
上面的代码分别演示了如何使用条件运算符求两个值中的最大值、将一个布尔值转为字符串、“根据条件修改变量的值”等操作。
需要注意的是,条件运算符是右结合的,而且它的返回值是一个完整的表达式,这也就意味着它可以被嵌套使用,例如:
string result = (a > b) ? ((a > c) ? "max is a" : "max is c") : ((b > c) ? "max is b" : "max is c");
这段代码根据 a、b、c 三个数大小的不同返回不同的字符串,它在逻辑上相当于:
综上,条件运算符既简单又实用,它可以使代码更加简洁、易读,但也需要我们注意代码的可读性,不要过多地嵌套条件运算符,以免降低代码的可读性。