1
#include<stdio.h>
#define x 4+1
int main()
{
     int i;
     i = x*x*x;
     printf("%d",i);
     return 0;
}

我想知道如何评估表达式。

4

2 回答 2

5

xC 预处理器将逐字替换for 的所有实例4+1,从而生成以下代码:

i = 4+1*4+1*4+1;

由于*优先于+,因此计算结果为:

i = 4+4+4+1;

i获得价值13

于 2012-11-18T06:39:03.613 回答
1

您还可以在定义中使用括号,如下所示:

#define x (4+1)

然后,这评估为:

i = (4+1)*(4+1)*(4+1)

的值为i125

于 2013-09-23T20:32:52.890 回答