从品牌网站建设到网络营销策划,从策略到执行的一站式服务
C语言不支持默认参数,不过可以用宏来模拟:
成都创新互联是专业的蛟河网站建设公司,蛟河接单;提供网站设计制作、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行蛟河网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
//---------------------------------------------------------------------------
#include stdio.h
#define DEFAULT 40 /*默认参数值*/
#define FUN(A) fun(#A##"-") /*用于实现默认参数的宏*/
int f(int n) /*用于实验默认参数的函数*/
{
return printf("%d\n",n);
}
int fun(const char *a) /*确定函数调用的函数,返回值类型要和实际需要调用的f()函数返回值类型一致*/
{
int n; /*变量的类型要和f()函数参数的类型一样*/
if (a[0]=='-') n=DEFAULT;
else sscanf(a,"%d",n);
return f(n);
}
int main(void)
{
FUN();
FUN(67);
return 0;
}
//---------------------------------------------------------------------------
可以这样调用。
int b=0指的是默认参数,调用时传入或不传入b都行,如果不传入b的话,那么b的值就是0。
另外注意只有最后面的参数可以是默认参数。
指定形参默认值是C++的语法,标准C是不支持这种语法的。
使用c++语法,通常可以保存文件时使用CPP后缀保存。
另外,形参的默认值是在声明函数原型的时候指定,不是在函数定义的时候指定。
在许多c语言初学者中编写函数时,都喜欢将无参函数中的参数类型忽略。
但是实际上 默认的参数类型 不是无参 void ,而是接受 任意数量和类型的参数 。也就是说 int func() 和 int func(void) 是不一样的。下面通过一个例子加深了解一下在C语言中函数的默认参数类型:
所以说,在使用c语言编写无参函数时,一定要把 void 写上去,不然会有安全隐患。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图