当我编译以下代码时
#include<stdio.h>
#define CUBE(x) (x*x*x)
int main()
{
int a, b=3;
a = CUBE(b++);
printf("%d, %d\n", a, b);
return 0;
}
它给出27 , 6
但是表达式不a=b++*b++*b++;
应该计算为a=3*4*5
并且应该给出60
吗?
当我编译以下代码时
#include<stdio.h>
#define CUBE(x) (x*x*x)
int main()
{
int a, b=3;
a = CUBE(b++);
printf("%d, %d\n", a, b);
return 0;
}
它给出27 , 6
但是表达式不a=b++*b++*b++;
应该计算为a=3*4*5
并且应该给出60
吗?