ファイル内でxの値を5として割り当て、次のコードのように実行すると、出力が392になることがわかりました
#include<stdio.h>
#define CUBE(r) ((r)*(r)*(r))
int main()
{
int x;
x=5;
printf("%d\n", CUBE(++x));
return 1;
}
しかし、「scanf()」を使用して x の値を取得し、次のコードの入力を 5 にすると、出力は 336 になります。
#include<stdio.h>
#define CUBE(r) ((r)*(r)*(r))
int main()
{
int x;
scanf(" %d",&x);
printf("y is %d\n", CUBE(++x));
return 1;
}
なぜ私はこの種の出力を得るのですか