不同编译器对自增的运算结果不一样;
#include<stdio.h>
int main()
{
int a=5;
int b;
int c;
b=(a++)+(a++)+(a++);
c=(++a)+(++a)+(++a);
printf("a=%d,b=%d,c=%d",a,b,c);
}
Dev-C++编译器运行的结果为 a=11,b=18,c=31
VC6.0编译器运行的结果为 a=11,b=15,c=31
问题:
1、针对b的赋值语句,三个a的自增的够理解是否正确:
Dev-C++的编译器的三个参与运算的值为5,6,7;
VC6.0编译器的三个参与运算的值为5,5,5;
2、针对c的赋值不能理解:
参与c的赋值中的,a的值为三个11,或者为9,10,11,那计算c的计算结果为33或为30
希望一起来讨论!