日期:2014-05-20  浏览次数:20843 次

关于for循环的一个小问题!
讨论下:for (int i=0; i<10; i++){
//打印i值
}
for (int k =0; k<10; ++k){
//打印k值
 }
问题:为什么第二种情况也是0-9?


------解决方案--------------------
自增,没有参与到其它的表达式运算,所以效果一样。
------解决方案--------------------
i++和++i这两个表达式的差别只有在用到他们的值的时候才会体现出来,比如
a = i++;
b = ++k;
i == k的时候,a就比b少1。但是对于i和k来说,没有差别,都是加了1。
在for语句中,并没有用到第三个表达式的值,只是用来改变i和k的这两个变量本身的值而已。
------解决方案--------------------
无论先加还是后加,结果都是到9结束,i++和++k是在循环内容结束之后单独执行的。
------解决方案--------------------
i++ 和 ++i 在执行完以后i值都是加一

但是作为一个表达式他们运算的结果是不一样的

在两个循环中用到的都是i的值判断的所以输出结果是一样的 主要是了解for循环的执行

希望对你有用