关于C语言宏定义的问题 5

以下在任何情况下计算平方数时都不会引起二义性的宏定义A#defineXPE(x)x*xB#defineXPE(x)(x)*(x)C#defineXPE(x)(x*x)D#... 以下在任何情况下计算平方数时都不会引起二义性的宏定义
A #define XPE(x) x*x
B #define XPE(x)(x)*(x)
C #define XPE(x)(x*x)
D #define XPE(x)((x)*(x))
展开
 我来答
庄政警
2013-07-08 · TA获得超过9918个赞
知道大有可为答主
回答量:1113
采纳率:94%
帮助的人:912万
展开全部
任何情况下?

求(++a)的平方,ABCD都不行,都会把a自增二次,最终导致a的值错误,平方值也错误

所以条件不能是任何情况,只能是x是没有副作用的表达式时,选项D才是正确的
小七说LoRa
2013-07-08 · TA获得超过461个赞
知道小有建树答主
回答量:433
采纳率:0%
帮助的人:239万
展开全部
D
#define XPE(x) x*x
举个例子
XPE(5+3),它就会被换成5+3*5+3=5+15+3,而不是我们想要的结果8*8
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
王囧囧1988
2013-07-08 · TA获得超过132个赞
知道小有建树答主
回答量:85
采纳率:0%
帮助的人:112万
展开全部
D吧,举反例:
A:XPE(a+1)变成 a+1*a+1
B:1/XPE(x) 变成 1/(x)*(x)

C:同A
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式