
关于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)) 展开
A #define XPE(x) x*x
B #define XPE(x)(x)*(x)
C #define XPE(x)(x*x)
D #define XPE(x)((x)*(x)) 展开
3个回答
展开全部
任何情况下?
求(++a)的平方,ABCD都不行,都会把a自增二次,最终导致a的值错误,平方值也错误
所以条件不能是任何情况,只能是x是没有副作用的表达式时,选项D才是正确的
求(++a)的平方,ABCD都不行,都会把a自增二次,最终导致a的值错误,平方值也错误
所以条件不能是任何情况,只能是x是没有副作用的表达式时,选项D才是正确的
展开全部
D
#define XPE(x) x*x
举个例子
XPE(5+3),它就会被换成5+3*5+3=5+15+3,而不是我们想要的结果8*8
#define XPE(x) x*x
举个例子
XPE(5+3),它就会被换成5+3*5+3=5+15+3,而不是我们想要的结果8*8
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
D吧,举反例:
A:XPE(a+1)变成 a+1*a+1
B:1/XPE(x) 变成 1/(x)*(x)
C:同A
A:XPE(a+1)变成 a+1*a+1
B:1/XPE(x) 变成 1/(x)*(x)
C:同A
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |