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

C プリプロセッサはxforのすべてのインスタンスを文字通り置換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)

の値iは 125 です

于 2013-09-23T20:32:52.890 に答える