这个C++题目答案是多少?

#defineT(x,y)x+yinta=T(3,4)*T(3,5);则变量a的初值为_________。能不能说下具体为什么。。不胜感谢。其实答案是20,我也以为是56... #define T(x,y) x+y
int a=T(3,4) * T(3,5);
则变量a的初值为_________。
能不能说下具体为什么。。不胜感谢。
其实答案是20,我也以为是56,不过好像不对。。。
展开
 我来答
漫步轮回岁月
2010-10-14 · 超过19用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:35.8万
展开全部
a=3+4*3+5=3+12+5=20
宏定义,在编译的时候直接把T(x,y)直接替换成x+y,而不是把x+y的结果算出来再替换。
若是想得到结果是a=(3+4)*(3+5)=56,则应该这样定义:#define T(x,y) (x+y)
BTzjzxxx
2010-10-14 · TA获得超过4533个赞
知道大有可为答主
回答量:981
采纳率:0%
帮助的人:635万
展开全部
哦,是20,只是简单替换
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
诸葛智云
2010-10-14 · TA获得超过327个赞
知道小有建树答主
回答量:313
采纳率:0%
帮助的人:204万
展开全部
20
a=3+4*3+5=20
注意define是直接替换字符,而不是函数功能。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
非突_real
2010-10-14 · TA获得超过330个赞
知道小有建树答主
回答量:501
采纳率:0%
帮助的人:378万
展开全部
#define T(x,y) x+y 只是字面替换
也就是说a=T(3,4) * T(3,5) = 3+4*3+5 = 20
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式