#include<stdio.h>
//函数默认值为0
int mul(int x = 0);//C语言编译器会报错,C++不会
int main(int argc,char* argv[])
{
printf("%d\n",mul());
printf("%d\n",mul(-1);
printf("%d\n",mul(2));
return 0;
}
//默认值不需要在定义时给出,声明时给出即可
int mul(int x)
{ return x * x;
}
函数默认参数的规则
-参数的默认值必须从右向左匹配
-函数调用时使用了默认值,则后续参数必须使用默认值
int add(int x,int y=1,int z=2)
{
return x + y + z;
}
add(0);//x=0,y=1,z=2
add(2,3);//x=2,y=3,z=2
add(3,2,1);//x=3,y=2,z=1
#include<stdio.h>
int add(int x,int y=0,int z=0);
int main(int argc,char* argv[])
{
printf("%d\n",add(1));
printf("%d\n",add(1,2));
printf("%d\n",add(1,2,3));
return 0;
}
int add(int x,int y,int z)
{
return x+y+z;
}
调用的时候,默认参数可以不赋值,但是不是默认的参数必须赋值