何忘初
2016-07-09 13:12
难道就没人看出来老师举的例子有问题?用普通函数计算10.0+10.5的时候老师用的int,结果能不错吗?用宏计算10.5+20.0的时候,老师用的是float,这样算出来当然不可能错。
例子并没有问题,就算你把变量c前面的类型改成浮点型,算出来的结果也还是错误的,因为参数在被传递给add函数的时候就已经经过一次强制类型转换了,老师举这个例子只是表达在宏函数中不对数据类型有强制要求。
我也觉得最后一个例子看不懂,应该把float改成int才能说明问题
普通函数计算:add(10.5+5)=15.000000
宏计算:ADD(a10.5+5)=15.500000
这怎么能拿出来做对比来说明宏的优势
Linux C语言结构体
118471 学习 · 166 问题
相似问题