我一直试图了解 printf 如何处理传递给它的参数。更具体地说,有人可以解释以下输出是如何发生的。
int a=1;
printf("%d %d %d",++a,a,a++);// outputs: 3 3 1
a=1;
printf("%d %d %d",a++,a,a++);// outputs: 2 3 1
a=1;
printf("%d %d %d",a,a,a++);// outputs: 2 2 1
a=1;
printf("%d %d %d",a,a++,a);// outputs: 2 1 2
a=1;
printf("%d %d %d",a,a,++a);// outputs: 2 2 2
该cout
语句出现相同的输出。