万灵五香膏怎么用:C语言:有宏定义:#define POWER(x) x*x则在任何情况下计算会不会引起二义性?为什么?
来源:百度文库 编辑:高考问答 时间:2024/05/09 13:52:15
int a=1,b=2,c;
c=a+b;
POWER(a+b)的值为5;
POWER(c)的值为9;
POWER(a+b)=a+b*a+b
所以会有二义性
因为宏定义只是简单的字符串替换罢了。可以写成#define POWER(x) (x*x)
楼上解释的不错,就是这个样子
高考问答是一部内容开放、自由的互动网络百科全书
客观、专业、权威的知识性百科全书
来源:百度文库 编辑:高考问答 时间:2024/05/09 13:52:15
int a=1,b=2,c;
c=a+b;
POWER(a+b)的值为5;
POWER(c)的值为9;
POWER(a+b)=a+b*a+b
所以会有二义性
因为宏定义只是简单的字符串替换罢了。可以写成#define POWER(x) (x*x)
楼上解释的不错,就是这个样子