问题描述: C语言中,m=0 A=(++m)+(++m); 此时,A=?,在VC中运行了,结果是A=4,m=2.一直想不明白为什么. 1个回答 分类:综合 2014-10-01 问题解答: 我来补答 这个和编译器自身处理过程有关系,不同的编译器,结果不尽相同,不必过于纠结.比如A = (++a) + (++a) + (++a);有些编译器会先计算右边,最后赋值给A:++a;++a;++a;A=a+a+a;有些编译器实际的过程变成:A=++a; A=A+(++a);A=A+(++a);有些编译器实际的过程变成:A=(++a)+(++a); A=A+(++a);有些编译器实际的过程变成:A=(++a); A=A+((++a)+(++a)); 展开全文阅读