鱼C论坛

 找回密码
 立即注册
查看: 2288|回复: 8

#define 有关运算

[复制链接]
发表于 2015-12-8 19:08:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 YjingA 于 2015-12-9 10:55 编辑

k为什么不是100,

怎么理解


#define F(n)  2*n
F(4+2)==10
为什么

求解啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊,谢谢
qqqq.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-12-8 19:26:26 | 显示全部楼层
因为   2*4+2     =10   宏就是替换   他没有你想像中那么机智 所以 就是 2*4+2
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2015-12-8 19:52:11 | 显示全部楼层
你可以打个括号。用define定义一个式子或者一组操作的时候,有一些小技巧,楼主可以搜一下,了解下。
#define F(n) (2 * n)
#define MIN(x, y) ((x) < (y) ? (x) : (y))

评分

参与人数 1荣誉 +3 鱼币 +5 收起 理由
~风介~ + 3 + 5 感谢楼主无私奉献!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2015-12-8 22:43:22 | 显示全部楼层
故乡的风 发表于 2015-12-8 19:52
你可以打个括号。用define定义一个式子或者一组操作的时候,有一些小技巧,楼主可以搜一下,了解下。

(2*n)  这个是不是应该改成2*(n)啊?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-8 23:15:35 | 显示全部楼层
最外面打括号
就拿你写的#define F(n)  2*n这个来说
F(4+2)==10是因为预处理器只进行文本替换工作  所以变成了2*4+2就是10
这样写#define F(n)  (2*(n))  结果是2*(4+2)=12了
这是个技巧  也是个易错点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-8 23:30:49 | 显示全部楼层
小人 发表于 2015-12-8 19:26
因为   2*4+2     =10   宏就是替换   他没有你想像中那么机智 所以 就是 2*4+2

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-8 23:31:24 | 显示全部楼层
故乡的风 发表于 2015-12-8 19:52
你可以打个括号。用define定义一个式子或者一组操作的时候,有一些小技巧,楼主可以搜一下,了解下。

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-8 23:33:06 | 显示全部楼层
counting_stars 发表于 2015-12-8 23:15
最外面打括号
就拿你写的#define F(n)  2*n这个来说
F(4+2)==10是因为预处理器只进行文本替换工作  所以 ...

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-9 01:59:30 | 显示全部楼层
不错,拿来做课后作业题~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 14:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表