什么是缺省参数?
缺省参数就是在函数声明或定义的时候为函数的参数指定一个默认值,在函数调用时,如果没有指定实参则采用该默认函数,否则使用指定的函数。
c语言不支持给函数指定默认值,c++而支持
缺省参数的类型
1.全缺省
给函数的所有参数指定默认值
void FunTest(int a = 0,int b = 0, int c = 0)
{
printf("%d",a);
printf("%d",b);
printf("%d",c);
}
int main()
{
FunTest(); //0 0 0
FunTest(10); //10 0 0
FunTest(10,20);//10 20 0
FunTest(10,20,30);//10 20 30
}
如果只穿部分参数,是从左向右赋值
2.半缺省
半缺省只能从右向左依次缺省
void FunTest(int a,int b,int c=0)
{
//.......
}
从左向右缺省是错误的
void FunTest(int a = 0;int b,int c)
{
//......
}
注:
1.缺省参数不能同时出现在函数的声明和定义中(一般在声明中出现)
2.缺省参数的值必须为常量/全局变量
3.c语言不支持缺省参数