问一道C语言问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 17:52:05
请问C语言中的i++与 ++i有什么区别啊?其实我已看过谭浩强编写的《C语言设计》教材上的解释,但我还是觉得不够形象。理解不了。请求各位DX给出更详细形象的解释,能用上比喻的最好用上。

我也举一个例子
++1相当于先吃饭再干活
1++相当于先干活在吃饭

简单的说,比如设i=2 a=i++就是 先执行a=i=2
在执行i=i+1=2+1=3 即此时 a=2 i=3

而 a=++i 就是先执行 i=i+1=2+1=3 再执行 a=i=3 即此时 a=3 i=3

加号在前则先执行 自加运算 加号在后,则先执行别的,完了再执行自加运算

明白了不?不明白留言或QQ:312411079

直接这两个放着可能看不出什么
要用的时候才会有区别
比如:
a=i++ 和 a=++i
a=i++是先把 i 的值给 a 后 i 再自加;相当于a=i;i=i+1
a=++i是先把 i自 加;再把值给 a ;相当于i=i+1;a=i

这个要打个比方还真不容易。呵呵。

是啊 通过举例很多问题都会一目了然的 学语言也要看看别人的代码的

i++
就是i不断自增:i+1=i(1) i(1)+1=i(2) i(2)+1=i(3)....
++i
是:i(1)=i+1 i(2)=i(1)+1 i(3)=i(2)+1.....