关于函数的重载

来源:百度知道 编辑:UC知道 时间:2024/06/25 06:12:29
#include <iostream.h>
int min(int a, int b);
int min(int a, int b, int c);
int min(int a, int b, int c, int d);
void main()
{
cout<<min(13, 5, 4, 9)<<endl;
cout<<min(-2, 8, 0)<<endl;
}
int min(int a, int b)
{
return a<b?a:b;
}
int min(int a, int b, int c)
{
int t = min(a, b);
return min(t,c);
}
int min(int a, int b, int c, int d)
{
int t1 = min(a, b);
int t2 = min(c, d);
return min(t1, t2);
}

此程序见百度百科http://baike.baidu.com/view/534068.htm最下面的一个例子.

看不明白带问号的那一句 return a<b?a:b;

请问怎么理解?

return a<b?a:b;

这是三元运算符 ?:

(条件) ? 值1 : 值2

条件是真 返回 值1
条件是假 返回 值2

int min(int a, int b)
{
return a<b?a:b;
}

就是 a < b 时 返回 a, 否则 返回 b

相当于

int min(int a, int b)
{
if (a<b)
return a;
else
return b;
}

这是一个双目运算符,
当a>b条件成立就选择a