我刚刚发现,如果我在文件中将 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;
}
为什么我会得到这种输出