缺省参数,就是在声明函数的某个参数时为其指定一个默认值,在调用该函数时,若采用该默认值,就无需指定该参数。
缺省参数使用的主要规则:调用时只能从最后一个参数开始进行省略。也就是说,只能从右往左缺省,并且缺省参数连续。
int Add1(int a = 0,int b = 0){ //全缺省:参数列表中的参数均为缺省参数
return a+b;
}
int Add2(int a,int b = 0){
//半缺省:参数列表中的参数并非全为缺省参数,必须遵循使用规则,从右往左连续缺省
return a+b;
}
我们可以用上面这个例子来进行举例:
#include <stdio.h>
int Add1(int a = 0,int b = 0){
return a+b;
}
int Add2(int a,int b = 0){
return a+b;
}
void Test(){
int ret = Add1();
printf("Add1() = %d\n",ret);
ret = Add1(1);
printf("Add1(1) = %d\n",ret);
ret = Add1(1,1);
printf("Add1(1,1) = %d\n",ret);
ret = Add2(2);
printf("Add2(2) = %d\n",ret);
ret = Add2(2,2);
printf("Add2(2,2) = %d\n",ret);
}
int main(){
Test();
}
运行代码,得到如下结果:
通过这个结果,我们就可以很轻易地理解缺省参数了。