for循环里i++在括号里外的区别是什么

for(i=0;i≤10;i++)和
for(i=0;i≤10;)
i++;的区别

简易数的分解方式

看你i++后面还有没有其他语句用到 i
如果有,那写在外面就是先i++在执行其他语句,写在括号里面是先执行其他语句最后i++


for (A;B;C) D;
//等价于
{
 A;
 while (1) {
  if (!(B)) break;
  D;
  C;
 }
}

简而言之,是结构上的不同。写在for()里表示每次执行完下边的循环后所执行的操作,而写在下边的循环内可能会有顺序上的不同,而且可能会被break()或者continue()这样影响循环体的执行的函数所影响。举个例子,

#1

for(int i=0;i<5;i++)
{
cout<<i<<" ";
}
输出应是: 0 1 2 3 4

#2

for(int i=0;i<5;)
{
i++;
cout<<i<<" ";
}
输出应是: 1 2 3 4

另外应注意i++是使用完i的当前值后自加,++i是在使用之前自加