|
编程中国
|
业界新闻
|
技术文章
|
视频教程
|
下载频道
|
程序源码
|
个人空间
|
编程论坛
|
登录
注册
平板模式
论坛地图
帮助
编程论坛
→
开发语言
→
C++论坛
→
C++教室
→ 谁帮我解释下这句语句执行的顺序!
我的收件箱(0)
全能ASP/PHP/ASP.NET主机,支持月付
专业
MSSQL
数据库空间,支持月付
专业
MySQL
数据库空间,支持月付
学习型 ASP/PHP/ASP.NET 主机
30
元/年
高端软件开发 = 年薪十万不是梦
赛孚耐:软件保护加密专家
身份认证令牌USB KEY
共有
221
人关注过本帖
标题:谁帮我解释下这句语句执行的顺序!
waiting……
收藏
订阅
推荐
打印
xiaxiang1986
等级:新手上路
帖子:23
积分:446
注册:2008-3-16
楼主
谁帮我解释下这句语句执行的顺序!
#include <iostream>
#define ADD(x) x+x
using namespace std;
int main()
{ int m=1,n=2,k=3;
int sum=ADD(m+n)*k;
cout<<sum;
system("pause");
}
为什么运行结果等于10?
我是这样算的: sum=ADD(1+2)*3=6*3=18
那里不对呀?
搜索更多相关主题的帖子:
语句
顺序
解释
2008-9-12 11:32
vfdff
等级:金牌会员
威望:
4
帖子:1201
积分:13367
注册:2005-7-15
第
2
楼
回复 1# xiaxiang1986 的帖子
等效
cout<<m+n+m+n*k<<endl;
你使用
#define ADD(x) (x+x)
才能得到正确的 18
2008-9-12 12:05
blueboy82006
来自:幻想世界
等级:版主
威望:
16
帖子:1212
积分:12084
注册:2007-7-23
第
3
楼
嗯,
就是个括号的原因吧...定义宏时要小心...
闭关修炼中!......
2008-9-12 12:19
newyj
等级:高级会员
威望:
2
帖子:521
积分:6030
注册:2008-1-4
第
4
楼
定义宏 时 最好 给每个变量都加上括号
#define ADD(x) ((x)+(x))
2008-9-12 12:54
守鹤
来自:山東臨沂
等级:版主
威望:
11
帖子:312
积分:3474
注册:2008-6-20
第
5
楼
在宏定义的运算中,不要做任何处理,只需原封不动的照样写就行了,
宏只是给表达式或数值起的另一个名字而已,故不要加入个人的偏见。
2008-9-12 23:56
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
Archiver
|
WAP
|
TOP
编程中国
版权所有,并保留所有权利。鲁ICP备08000592号
Powered by
Discuz
, Processed in 0.046509 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved