c语言中的自增运算

Python011

c语言中的自增运算,第1张

首先++优先级大于+

所以等价于:int

y=(++a)+(a++)+(a++)

前置++,先加1后返回值。

后置++,先返回值后加1。

(++a)=1(执行完后,此时a的值为1)

然后a++,先返回a的值,所以(++a)+(a++)=2(执行完后,此时a的值为2)。

所以(++a)+(a++)+(a++)=4(执行完后,此时a的值为3)

++是自增运算符,++k或k++都是变量k的值加1;-

-是自减运算符,-

-k或k-

-都是让变量k减1。运算符位于操作数之前,称为前置运算符;运算符位于操作数之后,称为后置运算符。

这两种运算符的差异是:前置运算符是对变量先递增(递减),然后参与其他运算,即先改变变量的值后使用;后置运算符则是变量先参与其他运算,后对变量递增(递减),即先使用后改变。

比如:int

a=9

b=a++(b=9a=10)

b=++a(b=10a=10)

对于你的这道题来说,++i和i++都是一样的;因为都是改变i的值。

还有,printf("%d\n",sum)少写了一个“”,应该是printf("%d\n",sum)

希望对你有所帮助!

因为这依赖于具体的编译软件,不同的便衣软件有不同的自己的规定,而用户却往往被蒙在鼓里。即使用户自己搞清楚了某一种变音软件的运算规则,但是确实的编写好的程序缺少了可移植性,和可读性。如果拿到别的编译软件上进行编译,就会得出不同的结果,所以说像这种有歧义的语句,最好的办法是敬而远之,把它拆分为两个语句或多个语句就可以了。