三目运算符语法格式:
布尔表达式?表达式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作比较,将变量大的值赋值给变量cint 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