VC6.0 里面的自增 ++i 和 i++的区别

发布时间:2024-05-29 02:56 发布:上海旅游网

问题描述:

int i = 0,j;
j = i ++;
printfl("%d\t%d\n",i,j);
i = 0 ;
j = ++i ;
printfl("%d\t%d\n",i,j);

我是刚学的```
所以不知道=多少``
在VC6.0里面是=
1 0
1 1
可是我自己理解的是
j = i++
的意思是;
j = i(0)++(1)所以j=1 i=0
怎么VC6.0的是 i = 1 j = 0
请高手教一下```
我没有积分了``就5分``求救了``

下面的
i = 0 ;
j = ++i ;
我就更不懂了``
怎么两个都得1啊``

++i 和 i++
有什么区别啊``
本人比较笨希望有高手举例说明
本人QQ449342034
不知道是不是我这样理解的·
int i = 0,j;
j = i ++;
j+i(0)
因为i还没有被自增说以·
j+为自增的i=0
因为j=i++
i++=1
所以i就等于1
i = 0 ;
j = ++i ;
因为J = 以自增的++i
说以J=1
++i也=1

问题解答:

int i = 0,j;
j = i ++;
printfl("%d\t%d\n",i,j);
这i++是先用后加,即先使用,所以j将被赋值为0,但此时i++,i的值已经被改变为1了
下面的
i = 0 ;
j = ++i ;
printfl("%d\t%d\n",i,j);
++i是先加后用,故j=1,而i照样自加了,因此i此时的值为1.
回答完毕
哈哈

简单的说是先加和后加的问题,++i是最先运算这个而i++就不是最先运算
举个简单的例子加减乘除先算乘除再算加减是个先后运算的规则,而这个也是这样的规则

i++就是先使用后增加
++i就是先加后使用

j=i++是先把i=0这个值给j,给了j后,i再加1,所以j=0,i=1;
j=++i是i先加1,然后把i=1这个值给j;所以j=1,i=1.

i++
要做构造函数,然后析构
而++i,不需要做构造函数
效率更快

i++ 先用在+
++i 先加再用
2个最后的结果都是+1

热点新闻