课程
/后端开发
/C
/Linux C语言结构体
难道就没人看出来老师举的例子有问题?用普通函数计算10.0+10.5的时候老师用的int,结果能不错吗?用宏计算10.5+20.0的时候,老师用的是float,这样算出来当然不可能错。
2016-07-09
源自:Linux C语言结构体 2-3
正在回答
例子并没有问题,就算你把变量c前面的类型改成浮点型,算出来的结果也还是错误的,因为参数在被传递给add函数的时候就已经经过一次强制类型转换了,老师举这个例子只是表达在宏函数中不对数据类型有强制要求。
我也觉得最后一个例子看不懂,应该把float改成int才能说明问题
普通函数计算:add(10.5+5)=15.000000
宏计算:ADD(a10.5+5)=15.500000
这怎么能拿出来做对比来说明宏的优势
举报
C语言的深入,帮助小伙伴们进一步的理解C语言,赶紧看过来
2 回答关于malloc
6 回答觉得有错!!!
1 回答关于打印地址
2 回答关于struct的定义
1 回答关于malloc函数的应用