| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 671 人关注过本帖
标题:关于define
只看楼主 加入收藏
小J
Rank: 8Rank: 8
等 级:等待验证会员
威 望:1
帖 子:282
专家分:704
注 册:2009-6-18
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:5 
关于define
int a;
#define M(x,y) (x*y)
a=M(1+2,3);
A.9    B.7
C.5    D.以上均不是

答案是B,为什么不是9啊!
搜索更多相关主题的帖子: define 
2009-12-26 17:23
风之上位
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:55
专家分:156
注 册:2009-12-20
收藏
得分:10 
宏定义只是简单的把M(x,y)替换成(x*y)
如M(x+y,y)展开后就变成x+y*y了就是用把M中输入的值带入  连不会加括号
#define M(x,y) ((x)*(y))   才等于9

[ 本帖最后由 风之上位 于 2009-12-26 17:43 编辑 ]
2009-12-26 17:40
清风凌波
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:104
专家分:147
注 册:2009-9-24
收藏
得分:0 
哦,有点运算优先级的意思吧?长知识了。
2009-12-26 18:09
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:0 
同问啊,我也有点搞不明白

qq7434391
2009-12-26 19:38
风之上位
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:55
专家分:156
注 册:2009-12-20
收藏
得分:0 
宏只是简单的替换你左边的输入是什么就代入右边
如果你左边没加()代替掉时也没括号
2009-12-26 19:45
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:0 
知道了

qq7434391
2009-12-26 19:51
快速回复:关于define
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012439 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved