for循环语句中的i++和++i有什么区别

区别在于i的值变化的先后不一样
i++是先将i+1,将i+1代入语句中执行
++i是先把i代入语句中执行,然后i+1
两者执行完后i都等于i+1,但执行过程中i的值是不一样的。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-04
一般i++是先加后用
但在
for(int i=0;i<10;i++)
与for(int i=0;i<10;++i)
是没差的。
因为i都加完了,对其他人没任何影响追问

如果加完以后还要再用一次i呢,

追答

再用,如果在{}中,当然都是加完后的i.

追问

这两种写法加完后的i有没有不同

追答

没有呀,为什么你会认为有不同?
要是在()中,当然是会有先后的差别,
但在{}中,已经都是加完后的i;

追问

for(i=1;b[i]!='\0';i++)
{
a[(i<<1)]=b[i];
a[(i<<1)+1]='#';
}
n=(i<<1)+2;a[n]=0;
这里b[i]只有一位,完了以后的n等于几?

追答

这里n=12
a[(i<<1)]=b[i];//i=2
a[(i<<1)+1]='#';//i=2*2
再for中的i++//i=5;
n=(i<<1)+2;a[n]=0;//i=5*2+2等于12.

我都不知道你要问的是什么了。。

追问

答案是6.。。。。。。而且i是2.。。。。。

追答

你确定你的数组定义都没有问题?

追问

写不下就来个图片

本回答被提问者和网友采纳
第2个回答  2015-07-25
i++,先赋值,然后自加,++i先自加,再赋值给i。追问

结果有什么不同

第3个回答  2015-10-14
i++先执行再加
++i先加在执行
相似回答