#define product(x) (x*x)
int main(int argc, char* argv[])
{
int i = 3, j, k;
j = product(i++);
k = product(++i);
printf("%d %d",j,k);
return 0;
int main(int argc, char* argv[])
{
int i = 3, j, k;
j = product(i++);
k = product(++i);
printf("%d %d",j,k);
return 0;
}
结果:j=9,k=49。这充分表明先加再用和先用再加的原则,无论是2个还是3个。