垃圾的价值

出什么事了?我们告诉findaverage()我们要给它6的值,但我们只给了它5。因此,前五个值,va_arg()回报我们过去的。第六它返回的值是在某处的一个垃圾堆的价值。因此,我们有一个垃圾的回答。

使用定点值时,如果对方不包括前哨,循环将持续直到它进入垃圾匹配的前哨(或崩溃)。

对椭圆的使用更安全的建议

首先,如果可能的话,不使用椭圆!通常情况下,其他合理的解决方案是可用的,即使他们需要更多的工作。例如,在我们的findaverage()程序,我们可以在一个动态大小的整数数组,而不是通过。这将提供强类型检查(以确定调用者不尝试做一些无意义的)同时保留通过一个整数变量数被平均的能力。

第二,如果你使用椭圆,不要将预期的参数类型在你的椭圆,如果可能的话。这样做大大增加的可能性,对方无意中传递数据的错误的类型和va_arg()制造垃圾的结果。

第三,使用统计参数作为参数列表部分通常比使用定点为椭圆参数更安全。这迫使用户选择的计算参数的适当的值,保证了椭圆环将终止一个合理的迭代次数后,即使它产生的垃圾的价值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值