这实在是个令人纠结的问题。C语言中区分前自增与后自增,它们都有副作用,尤其是后自增。前自增可能更好一点,它不产生临时变量,效率更高一些。++y相当于:y=y+1;在变量的使用之前先自增。y++相当于:y; 其它语句... y=y+1;也就是使用它时,它的值不变,在其使用之后的某一时刻但在再次使用它前其值加一。而且不同的编译器不一定有一致的实现行为。a=(y++)+(y++)+(y++) 这是一条语句,通常的编译器实现会将此语句一次性扫描完成。这种情况下,y++会保持其值不变,此语句完成后,将y的值递增3次。b=(++y)+(++y)+(++y)这也是一条语句,编译器扫描完此语句后,先将y递增3次,再作+运算,将运算结果赋予b,此时b应该为24。 但是不同的系统及编译器不一定这样实现,还有可能y依次递增,其结果是21。

在C语言中,自增自减运算符的运算对象可以是变量、数组元素或表达式。自增运算符(++)会将运算对象的值加一,而自减运算符(--)会将运算对象的值减一。
自增自减运算符可以用作前缀或后缀,前缀形式会先进行自增或自减操作再输出结果,而后缀形式会先输出结果再进行自增或自减操作。自增自减运算符常用于循环语句和指针操作中,可以方便地实现变量的自增和自减操作,提高代码的简洁性和可读性。
C语言中提供了自增(++)、自减(--)运算符。它们的作用是使被操作变量值增加1或减少1。
自增(自减)运算符写在变量的前面称为前置自增(减),如++i,--i,写在变量的后面称为后置自增(减),如i++,i--。
1)前置自增(自减):变量i先自增(自减)1,然后再使用变化后i的值。
2)后置自增(自减):先使用变化前变量i的值,然后i再自增(自减)1。
这是因为自增运算符++会把操作数加1,自减运算符--会把操作数减1,并且可以控制效果作用于运算之前还是之后,具有很大的便利性。
自增自减运算符存在于C/C++/C#/Java/Python等高级语言中,它的作用是在运算结束前(前置自增自减运算符)或后(后置自增自减运算符)将变量的值加(或减)一。
相较于这些语言中的+=和-=运算符,自增运算符更加简洁,且可以控制效果作用于运算之前还是之后,具有很大的便利性。
自增运算符 ++ 使操作数的值加1,其操作数必须为可变左值(可简单地理解为变量)。
答-=1是意思在c语言中这里应该是y -= 1 ; -=是C语言提供的自减运算符,该运算符有两个操作数:左操作数、右操作数,左操作数必须是一个变量, 右操作数可以是常量、变量或表达式。其意义为:将左操作数减去右操作数,并将结果存储到左操作数中,如y -= 1 ; 相当于y=y-1 。
分两种情况,一个在变量前,一个在变量后。
--i表示先将i的值减1,再引用。
i--表示先引用i的值,再将i的值减1。
a=4;//计算的结果等同于a = a - 1;但执行的效率有差异,a--的效率优于a=a-1
要注意--的位置如果:int a = 6;
++表示自增同样的类型。