i++与++i在使用上的区别是什么?
i++:是先使用i的值,再自增1.
++i:则是先自增1,然后再使用。
但在For循环中为什么它们没有这样的区加呢?
在下面的代码中:
- C/C++ code
#include <iostream>using namespace std;int main(){ for(int i=0;i<=6;++i) cout<<"loop"<<i<<"\t"; cout<<endl; }如果把++i 换成 i++,其结果也是一样的,如何去理解和应用呢。请高手指教下?
[解决办法]
如果你看了上面的回复还是不懂的话,我举个例子来说明。
一个很普通的赋值语句A=I++,B=++I。
先给I赋初值,I=4。
所以,执行A=I++的话,A=4,I=5,也就是说,先使用I的值,然后在做自增运算。
相反的,执行B=++I的话,B=5,I=5,就是说,先做在做自增运算,再把得到的值赋给B。
希望能给你点帮助……
[解决办法]
写错了,倒数第4行
是i++;//或++i
[解决办法]
[解决办法]
[解决办法]
i++是在使用了i后自增1,在i被调用时,必须现将其存放在一个临时变量中,保存的作用,实际上被调用的是那个临时变量,i本身已经+了1
++i是在使用i之前自增1,在i被调用时,先执行:i+=i;调用它的的函数才可以真正的调用它!
解释的不是很好 大概就是这个意思吧
[解决办法]
在你的程序中++i和i++的功能是一样的,都是使for循环能执行下去,但具体意义不同。
例如:j=++i;(i的值先变成4,再赋给j,j的值为4)
j=i++;(先将i的值3赋给j,j的值为3,然后i变为4)
显然最后i的值相同,但j的值不同。
就像你的程序中的一样执行结果是一样的,因为到最后i的值都一样。