在for( ; ; i++) 或者 for( ; ; ++i)的时候 是没有区别的
区别在于
i++ 和 ++i 的执行顺序是不一样的
比如
i = 1;
a = i++;
b = ++i;
那么a = 1 b = 2
因为 a是先让i把值给a 才让i自增的
而,b是让i先自增 才把i的值给B的
可以这么理解:
如果i++和++i其单独作为一个语句时,效果是一样的,只有作为表达式一部分时才有i++和++i的区别。for(1;2;3)后面是三个表达式语句,因为用的是“;”,如果你用单步调试也可以发现i++或++i是作为一个语句执行的。所以for是先执行i++;或++i;语句,执行完这条语句之后再执行下一条的比较语句。
应该这么说吧,是表达式与语句的区别,
i=8 是表达式
i=8; 是程序语句
对于一个表达式内,i++这个表达式的值等于i,然后i自加1
而for语句里分四块,前三块通常说为 表达式一、表达式二、表达式三,第四块说循环体,循环体可以是单一语句(可不加大括号),循环体是复合语句(语句块)时,必需加大括号
自增、自减是对一个表达式来说的,因此,表达式一、表达式二、表达式三的自增、自减互不影响
希望回答对你有帮助。