鱼C论坛's Archiver
论坛
›
C\C++交流
› C语言S1E5一道作业题求助
八块腹肌的胖子
发表于 2020-4-1 11:36:07
C语言S1E5一道作业题求助
#define F(n) 2*n
那么请问代码中 F(3+2) 的值等于多少?
答:F(3+2) == 2*3+2 == 8,注意,宏定义是在程序编译时先进行的预处理,做法是直接将标识符替换为常量,并不会进行相关运算。因此,直接将 F(3+2) 替换为 2*3+2。
求助为什么答案不是8+2==10?
qiuyouzhi
发表于 2020-4-1 11:39:00
宏定义就是机械替换,直接把2*放进去,也就是2*3+2
sunrise085
发表于 2020-4-1 12:30:58
为什么会是8+2呢?
2*3是2乘3,不是2的3次方
页:
[1]
查看完整版本:
C语言S1E5一道作业题求助