答:先执行++不等于先自增!
对于表达式 b = a++,根据运算符的优先级,的确先执行自增运算符++,但它是后置的++,也就是作用时先让表达式 a++ 产生一个结果,然后变量a再自增。
然后再执行赋值运算符,将表达式a++的返回值(a的旧值,刚刚产生的结果)赋给变量b。
综上,++的执行次序在=之前,但是赋值时采用的是表达式a++的返回值,而a++的返回值是a的旧值还是自增后的值取决于++是后置的还是前置的。
答:先执行++不等于先自增!
对于表达式 b = a++,根据运算符的优先级,的确先执行自增运算符++,但它是后置的++,也就是作用时先让表达式 a++ 产生一个结果,然后变量a再自增。
然后再执行赋值运算符,将表达式a++的返回值(a的旧值,刚刚产生的结果)赋给变量b。
综上,++的执行次序在=之前,但是赋值时采用的是表达式a++的返回值,而a++的返回值是a的旧值还是自增后的值取决于++是后置的还是前置的。