n+=a++;的结合顺序

如题所述

是a++的话,在那一行代码中,a的值是不变的,下一行才发生变化。

所以先是:n=n+a;
然后才是:a=a+1;追问

那a+=b+=c是什么顺序。

追答

昨晚答完后就休息了, 这是昨天答的最后一个问题。今早看到追问,想说:

没有程序员会编这样的程序,编译报错:b+是表达式;

error C2106: “=”: 左操作数必须为左值;

这样写就算让你编译通过,也不好。如果你想自右向左结合=号的话,

应该写成:
b=b+c;
a=a+b;

还有:n+=a++,这样的写法也不是很好。

写程序:
1、清晰易懂才好;
2、代码旁边完全注释。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-28
n = n + a;
a++;
但是也根据编译器的不同而不同,做题大概就是这样了,但是自己编程不要这样写!