实参和形参结合是从左到右顺序结合的,第1个实参与第1个形参结合,第2个实参与第2个形参结合。因此默认参数的值必须放在形参列表中的最右端,否则出错。
#include<iostream>
using namespace std;
int max(int a,int b,int c=0);//c默认形参
int main()
{
int a,b,c;
cin>>a>>b>>c;
cout<<"max(a,b,c)="<<max(a,b,c)<<endl;
cout<<"max(a,b)="<<max(a,b)<<endl;
return 0;
}
int max(int a,int b,int c)
{
if(b>a)a=b;
if(c>a)a=c;
return a;
}