当a=4时,表达式a+=(a++)为什么等于9?而表达式a+=(++a)等于10?我明白前增和后增的区别。求解
经过a++后,a=5,所以表达式为a=5+(a++)=5+4=9。
同上,经过++a,a=5,所以表达式为a=5+(++a)=5+5=10。
你懂++a,与a++的区别那就不难了。前者是先加1后再使用a,而后者是先使用a再加1。a+=(a++)等为a=a+(a++),运算中a=4;
后者a+1=5,使用a为5。
a+=(a++)其实就是a=a+(a++),也就是a=a+a+1,所以a=9;而a=a+(++a)则是先让a自加,再两个a相加,也就是 a=a+1,a=a+a 这个逗号表达式,所以a=10