当变量i=1时,表达式++i及i++的值分别是什么?

C语言的
2024-11-15 22:28:49
推荐回答(2个)
回答1:

这是个变量自加的问题,i++和++i是有区别的。

当一段代码里出现
...i++;...
或...++i;...
时,他们其实没多大区别,只是++i的执行效率要高些,但对结果i的值都是一样的。

但如果代码里出现的是
...m=i++;...
或...m=++i;...
时,他们结果就不一样了,因为i++是先赋值再自加(可以理解为2句:m=i;++i;),而++i是先自加再赋值(可以理解为2句:++i;m=i)。也就是说如果i=5,那么执行之后,前者的m=5;而后者m=6.

这些你可以试一下再慢慢体会,希望对你有帮助。。。

回答2:

对于上边的回答我补充一下:
对于表达式的值:i++和++i是不一样的;
比如,m=i++;是把原i的值先赋给m,表达式的值是原i的值。
m=++i;是把i+1的值赋给m.
i--和--i同理。
有错请纠正,谢谢