以上题,结果是怎么出来的呢??
老师说for的嵌套循环语句时一笔带过,之前重点讲了道for的例题,
但我发现,用这道例题的逻辑去思考嵌套循环语句,完全行不通嘛!im crazy!!求好心人解答...
其实,我觉得你应该是不会看内外层的嵌套,一般都是从最内层开始看 ,
i j k
所以一上来就是000 001
之后k都循环完了,再往外就是j = 1 的情况,而这时候i = 0
所以结果是 010 011 以此类推
j的情况结束了,i = 1 情况就要开始了
而j k 还是要从0 开始算 ,所以是
1 0 0 1 0 1
注意此时变化的依然是最内层,所以 接下来就是
j = 1 的变化
1 1 0 1 1 1
,你要用debug仔细看一下就会了,即便是我在分析,如果不看的你的图说,也还是可能做错的,
总看看就不会出错了~~~希望对你有用
每个for循环都需要花括号
这个讲得详细点。
http://www.360doc.com/content/12/0107/09/8486771_177824230.shtml
For循环先执行最里面的,这里也就是k的那层,执行一次for循环,打印一次i,j,k第一次打印也就是000,第二次k+1, i,j都为0,所以为001 ,再次执行时,执行for循环的j,然后是k,所以,i,j,k分别为010,011……
这不是很正常嘛。用for语句执行的逻辑去推导。
sum=0 完全可以放在 for 语句之前,因为它是在 for 的初始化部分,也只执行一次。
这程序很正确啊,这就是循环嵌套。外侧循环每执行1次,内侧就执行2次。最外侧的1次,最内侧就是8次。你单步运行下就知道了。