已知int a=1;int b;b=(++a)+(++a)+(++a);为什么b=10?

来源:百度知道 编辑:UC知道 时间:2024/05/15 12:09:07
我在VC6编译过了,确实是10。难道和编译器有关系?

不知道怎么回答。。
我做C++的,这个问题我怎么看都是9
而且我放在我的电脑上出来的9
int a = 1;
int b = (++a) + (++a) + (++a);
Response.Write(b.ToString());
和你一样的程序。。问了问同事,也是9

为什么我这里是12?

++a 意为先+1后赋值
所以第一个++a=2,第二个++a=3,第三个++a=4

b=(++a)+(++a)+(++a)=2+3+4=9
你的答案不对吧