三目元表达式
在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语句。