for(i=0;i<10;i++)和for(i=0;i<10;++i)是没有区别的,
因为for循环语句的执行顺序是根据分号来确定的,
先赋值i=0;再判断i是否小于10,如果是则进入循环体内部,如果不是则跳出;最后再执行i++或者++i语句。
更细节的解释(我本人的理解):
c语言是翻译成汇编语言后执行的,for循环翻译的时候,for(i=0;i<10;i++)每个分号分隔的代码对应着一行汇编代码(中间i<10对应多行),i++或++i都是在最后一行汇编代码执行的。
如果是数组的话,就会有区别,如:
int i=0;
int A[i++]=10;
在翻译成汇编代码的时候,int A[i++]会被翻译成多行语句,会在翻译的时候,调整i自增的位置(即如果放在A[i]=10赋值之前,就是A[++i])。