三目运算符语法格式:
布尔表达式?表达式1:表达式2
运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值
(三目运算符指的是?和:)
在这个三目运算符案例中,变量 a 和 b 先进行值的比较,如果 a > b 为真,则将 a 的值赋值给 c,否则将 b 的值赋值给 c
在C++中三目运算符返回是变量,可以继续赋值,给谁赋值取决于返回了哪个变量
下面是一个实例
#include<iostream>
using namespace std;
int main() {
//三名目运算符
//创建三个变量 a b c
//将a和b作比较,将变量大的值赋值给变量c
int a = 10;
int b = 20;
int c = 0;
c = (a > b ? a : b);
cout << "c = " << c << endl;
//在C++中三目运算符返回是变量,可以继续赋值
(a > b ? a : b) = 100;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
system("pause");
return 0;
}
输出结果为
可以看到,a 和 b 在比较大小后,,判断表达式“a > b”为“false”,返回了b的值,并赋值给了c
又可以看出,在三目运算符后进行赋值,因为判断表达式“a > b”为“false”,返回了 b 的值,所以最后100是赋值给 b