【发布时间】:2019-05-21 11:12:08
【问题描述】:
我希望使用三元运算符而不是 if、else 和 else if 语句来定义以下函数。
#include <iostream> //Conditional Ternary Operator (if ? :else )
using namespace std;
int greatest(int a,int b,int c)
{
// what I tried
(a>b && a>c) ?return (a); :(b>a && b>c) ?return (b); :return(c);
// what I want
/* if(a>b && a>c)
return(a);
else if (b>a && b>c)
return (b);
else
return(c);
*/
}
int main()
{
int a,b,c;
cout<<"Enter a :";
cin>>a;
cout<<"Enter b :";
cin>>b;
cout<<"Enter c:";
cin>>c;
cout<<greatest(a,b,c)<<": Is Greater";
return 0;
}
【问题讨论】:
-
return (a>b && a>c) ? a : ((b>a && b>c) ? b : c); -
为什么不
return std::max(a, std::max(b, c));
标签: c++ function if-statement conditional