#include<stdio.h>
int main(){
int a = 2;
printf("a = %d\n",a);
a = 2;
int c = ++a + ++a+ ++a;
printf("c = %d",c);
}
上面的结果是13
#include<stdio.h>
int main(){
int a = 2;
printf("a = %d\n",&a);
a = 2;
int c = ++a + ++a+ ++a;
printf("c = %d",c);
}
这次的结果又是12
虽然我不知道是啥原理,但是这和你之前的printf有关,你之前输出在a前面放上了不该有的&所以结果不一样
像++a ++a ++a,这种不同的编译器 结合优先级不一样,所以结果就不一样,你的代码在我的vs2019中运行结果都是15.