本地函数定义是非法的_既然C语言无所不能,那么它也能定义带“默认参数”的函数吗?...

使用C++开发过程序时,定义函数可以指定默认参数,例如 void fun(int x, int y=3); 在调用 fun() 时第二个参数可以不传递,此时 fun() 函数默认第二个参数等于 3,例如 f(1) 就相当于 f(1,3)。这是一个很好用的特性,那么在C语言程序开发中,是否也可以定义带“默认参数”的函数呢?

0eeccdc0f06bad95f1e6966a1cb6bcf3.png

C语言程序开发中,是否也可以定义带“默认参数”的函数呢

有“默认参数”的C语言函数

首先应该清楚,目前C语言还没有原生支持带默认参数的函数,也就是说下面这样的C语言代码是非法的:

void fun(int x, int y =3){ return x+y;}fun(1); // 不等价于 fun(1, 3)

但是,C语言作为一门极其灵活的编程语言,又的确可以借助其他基本语法实现这样的需求。不过要在C语言中定义带“默认参数”的函数可能略微有些繁琐,当然了,方法可能不止一种,本文不打算从枯燥的理论层面讨论这些方法,而是给出一个实例,希望能够起到抛砖引玉的作用。

470f100e9c100a5c06b702546da89c7b.png

希望能够起到抛砖引玉的作用

假设我们希望在某段C语言程序中定义一个带默认参数的函数,它可以接收两个参数,并将之打印出来:

double f(int i, double x){ printf("i=%d, x=%0.2f
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值