c语言简单题目

设有一以下宏定义#defineWIDTH80#defineLENGTHWIDTH+40则执行赋值语句v=LENGTH*20V=?设有一以下宏定义#defineWIDTH8... 设有一以下宏定义 #define WIDTH 80
#define LENGTH WIDTH+40
则执行赋值语句 v=LENGTH*20 V=?

设有一以下宏定义 #define WIDTH 80
#define LENGTH (WIDTH+40)
则执行赋值语句 v=LENGTH*20 V=?
请问具体有什么区别 怎么算
展开
 我来答
百度网友0991d51
2011-08-25 · TA获得超过495个赞
知道小有建树答主
回答量:196
采纳率:0%
帮助的人:70.9万
展开全部
宏定义只是一个代替
#define LENGTH WIDTH+40 和#define LENGTH (WIDTH+40)的区别在于多了个括号
先看#define LENGTH WIDTH+40
带到v=LENGTH*20 V=? 中
v=WIDTH+40*20=80+40*20=880
再看#define LENGTH (WIDTH+40)
带到v=LENGTH*20 V=? 中
v=(WIDTH+40)*20=(80+40)*20=120*20=2400
关于宏定义,不用多想,他就是一个替身,把原来的数直接带进去就可以,不做任何改变
mauwex
2011-08-26
知道答主
回答量:21
采纳率:0%
帮助的人:30.5万
展开全部
要看区别直接,替换到语句中就明白了:
1,
设有一以下宏定义 #define WIDTH 80
#define LENGTH WIDTH+40
则执行赋值语句 v=LENGTH*20 V=?

替换得: v=80+40*20 这显示不是你想要结果

2,
设有一以下宏定义 #define WIDTH 80
#define LENGTH (WIDTH+40)
则执行赋值语句 v=LENGTH*20 V=?

替换得: v= (80+40)*20

所以一看就明白结果是不一样的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
芉姩と逅
2011-08-25
知道答主
回答量:3
采纳率:0%
帮助的人:5016
展开全部
第一个v是880,第二个是4800。区别:先弄清楚宏的替换方式,宏的替换是用宏所代替的串直接替换宏名,而不是用宏的计算结果替换宏。例如:你的第一个替换为,v=80+40*20,第二个替换为,v=(80+40)*20。lz好好捉摸下,希望能帮到你。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式