a++ 和 ++a 单独作为一个语句的时候是没有区别的
但是作为语句一部分需要取值的时候就有区别
比如
int a=3, b;
(1) b = a++; //后缀++是先取值再自加,也就是先取到 a 的值,即 3,赋值给b, b=3, 然后 a 再完成自加,a=4; 结果 b =3, a=4
(2) b = ++a; //前缀++是先自加再取值, 也就 a先完成自加 a=4, 然后再取 a的值 赋给 b, b=4, 结果 b=4, a=4
当然还有变态的
a=a++; //当右边表达式中有a自加,并且左边赋给的又是a的情况(可能的变形有 a = b+ a++, 即右边表达式包含了左值的自增自减),这种不用管,因为不同编译器会有不一样的结果,考试肯定也不会出这种题,谁出了去砍死他
温馨提示:答案为网友推荐,仅供参考