### 三目元表达式

在 C++语言中提供了唯一的一个三目元表达式，即条件表达式。它是由条件运算符和变量构成的。在介绍条件表达式之前，先做一个简单的练习题。比较两个整数的大小，将较大的数存储在变量中。在程序中可以使用 if 语句来实现。

int nMaxValue; //定义一个整型变量

int nHeight = 100; //定义一个整型变量，初始化为 100

int nWidth = 80; //定义一个整型变量，初始化为 80

if (nHeight > nWidth) //如果 nHeight > nWidth

{

nMaxValue = nHeight; //将 nHeight 赋值给 nMaxValue

}

else //否则

{

nMaxValue = nWidth; //将 nWidth 赋值给 nMaxValue

}

为了比较两个数的大小，上述代码利用关系运算符和 if 语句进行判断。对于上面黑体部分代码，我们完全可以使用条件运算符来实现。例如：

nMaxValue = (nHeight > nWidth) ? nHeight : nWidth;

条件表达式由？和:符号构成。其中，?前面是一个关系表达式，？后面是条件表达式的结果，由:符号分隔。如果关系表达式的值为真，则整个条件表达式的结果为“:”符号之前的操作数，如果关系表达式的值为假，则整个条件表达式的结果为“:”符号之后的操作数。以条件表达式“(nHeight > nWidth) ? nHeight : nWidth”为例，由于“nHeight > nWidth”的结果为真，因此条件表达式的结果为 nHeight，将 nHeight 赋值给变量 nMaxValue。

说明：因为三目元表达式可以根据条件判断返回结果，所以经常被用来简化 if 语句。