2021-10-19

不同编译器对自增的运算结果不一样;

#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

希望一起来讨论!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容