在C++语言中,i++与++i有什么区别?那i--和--i呢
11个回答
展开全部
这种算法要用例子才能说明的了!比较全面的例子好像这样:
当i=5时,求s=(++i)+(++i)和s=(i++)+(i++)的值
当i=5时,s=(++i)+(++i)=13 先算第一个(++i),++在前面,就把i先加1再把赋值,即先把i变为6然后再得出(++i)的值为6,这时i已经变为6了,再计算第二个(++i),++在前面,也是先把i加1后再赋值,不过这时的i已经为6了,第一步的时候把i变成6了的,然后加1的话就变成7了,所以第二个(++i)的值为7,s=(++i)+(++i)=6+7=13.
s=(i++)+(i++)=11 先算第一个(i++),i在前面,就先赋值再把i加1,即(i++)的值为5,i的值变为6,第二个(i++),i在前面,先赋值再把i加1,这个时候的i已经为6了,即(i++)的值为6,而i已经变为7了!所以s=(i++)+(i++)=5+6=11.
相信你看得懂这个例子,基本上就会怎么算了!
i--和--i跟i++和i++是一样算法的,只不过一个是加一个是减!
------白猪(幸福快乐)
当i=5时,求s=(++i)+(++i)和s=(i++)+(i++)的值
当i=5时,s=(++i)+(++i)=13 先算第一个(++i),++在前面,就把i先加1再把赋值,即先把i变为6然后再得出(++i)的值为6,这时i已经变为6了,再计算第二个(++i),++在前面,也是先把i加1后再赋值,不过这时的i已经为6了,第一步的时候把i变成6了的,然后加1的话就变成7了,所以第二个(++i)的值为7,s=(++i)+(++i)=6+7=13.
s=(i++)+(i++)=11 先算第一个(i++),i在前面,就先赋值再把i加1,即(i++)的值为5,i的值变为6,第二个(i++),i在前面,先赋值再把i加1,这个时候的i已经为6了,即(i++)的值为6,而i已经变为7了!所以s=(i++)+(i++)=5+6=11.
相信你看得懂这个例子,基本上就会怎么算了!
i--和--i跟i++和i++是一样算法的,只不过一个是加一个是减!
------白猪(幸福快乐)
展开全部
两者都是i的自加,也就是说两个运算执行之后i都是比原来大1,不同的它们都是表达式,表达式++i的值就是i自加后的值,而++i是i自加前的值,同理--i与i--也是这个道理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
i++就是先用i再++
++i就是先++在用i
++就是+1的意思
...
比如i=3;
b=i++就是说b=3,完成之后让i变成4
b=++i就是先让i++变成4,然后b=4
--就是自减,和上面的++相反
++i就是先++在用i
++就是+1的意思
...
比如i=3;
b=i++就是说b=3,完成之后让i变成4
b=++i就是先让i++变成4,然后b=4
--就是自减,和上面的++相反
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
i++就是先用i再++
++i就是先++在用i
++就是+1的意思
...
比如i=3;
b=i++就是说b=3,完成之后让i变成4
b=++i就是先让i++变成4,然后b=4
其中++i比i++效率要高些
++i就是先++在用i
++就是+1的意思
...
比如i=3;
b=i++就是说b=3,完成之后让i变成4
b=++i就是先让i++变成4,然后b=4
其中++i比i++效率要高些
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你举个例子啊:
int a=0,b=0,i=1;
a = i++;
b = ++i;
那么输出的结果 a=1,b=2;
因为 i++,是先将i的值赋给 a,然后i再+1
++i是先将i+1,也就是2,然后再赋给b
自己体会一下。。。
int a=0,b=0,i=1;
a = i++;
b = ++i;
那么输出的结果 a=1,b=2;
因为 i++,是先将i的值赋给 a,然后i再+1
++i是先将i+1,也就是2,然后再赋给b
自己体会一下。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询