帅雷必成c王 发表于 2021-12-30 14:20:37

看不懂解题答案

1

帅雷必成c王 发表于 2021-12-30 14:21:20

不应该是1吗

一阵三十六 发表于 2021-12-30 15:16:22

含参的话
宏定义跟函数是不一样的。
宏定义直接把式子代进去,得到式子之后才按优先级运算
可以看一下小甲鱼《带你学C带你飞》课后作业 S1E5 测试题的第六题
#define F(n) 2*n
F(3+2)是多少?
答案是:8
3+2代进去,得到式子:2*3+2=8
不是将3+2=5 的5代进去。
这是一样的道理。

帅雷必成c王 发表于 2021-12-30 19:08:45

一阵三十六 发表于 2021-12-30 15:16
含参的话
宏定义跟函数是不一样的。
宏定义直接把式子代进去,得到式子之后才按优先级运算


我看的懂过程,但是答案解出来不对啊,不是乘除先算吗,得不出7啊

一阵三十六 发表于 2021-12-31 13:27:20

2+(1*2)+(1/2)+(1*2)+1=2+2+0+2+1=7

帅雷必成c王 发表于 2021-12-31 15:01:36

一阵三十六 发表于 2021-12-31 13:27
2+(1*2)+(1/2)+(1*2)+1=2+2+0+2+1=7

哦 ,1/2 应为是 int 所以直接变成0吗
页: [1]
查看完整版本: 看不懂解题答案