代码
*#include<iostream>
using namespace std;
int max( int a ,int b,int c ) //对于整型
{
return(a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);
}
double max(double a, double b, double c) //对于实型
{
return(a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);
}
char max(char a, char b, char c)//对于字符串
{
return(a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);
}
int main() //主函数
{
cout << "Max of 3 integers: " << max(88, 99, 100) << endl;
cout << "Max of 3 doubles: " << max(23.1, 20.1, 18.7) << endl;
cout << "Max of 3 chars: " << max('a', 'z', 'd') << endl;
return 0;
}
表达式 return (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);
可以拆解为以下步骤:
首先比较 a 和 b:
如果 a > b 为真,则执行(a > c) ? a : c;
如果 a > b 为假,则执行(b > c) ? b : c。
对于(a > c) ? a : c:
如果 a > c 为真,返回 a;
如果 a > c 为假,返回 c。
对于(b > c) ? b : c:
如果 b > c 为真,返回 b;
如果 b > c 为假,返回 c。