C语言中没有参数默认值的概念,但其实可以利用宏来模拟参数默认值;
成都创新互联公司主营瑞安网站建设的网络公司,主营网站建设方案,app软件定制开发,瑞安h5小程序开发搭建,瑞安网站营销推广欢迎瑞安等地区企业咨询
我们之前介绍过可变参数宏与逗号运算符,将两者相结合的话可以定义出以下形式的宏:
示例:
输出:
C语言不支持默认参数,不过可以用宏来模拟:
//---------------------------------------------------------------------------
#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语言 函数 默认参数
当前链接:https://www.cdcxhl.com/article44/dodpjee.html
成都网站建设公司_创新互联,为您提供虚拟主机、网站维护、建站公司、移动网站建设、网站排名、手机网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联