打印

这个程序怎么读啊 大侠们

[复制链接]
2272|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
keanda|  楼主 | 2011-11-11 18:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
y416355604| | 2011-11-11 20:23 | 只看该作者
先执行for(a=0;a<8;a++)判断a是否满足条件,是的话,就执行for(b=0;b<8-a;b++)然后判断b是否满足条件,是,执行其内部程序;否,跳出循环,执行for(a=0;a<8;a++)的内部程序;然后再次判断a的条件,就是这样循环下去的。。若有错误之处,敬请原谅!

使用特权

评论回复
板凳
ayb_ice| | 2011-11-12 08:05 | 只看该作者
条件符合就执行相应括号内的程序,不符合就退出相应括号程序

使用特权

评论回复
地板
wookongbun| | 2011-11-12 10:10 | 只看该作者
这不就是冒泡法吗?

使用特权

评论回复
5
老鱼探戈| | 2011-11-12 11:53 | 只看该作者
本帖最后由 老鱼探戈 于 2011-11-12 11:54 编辑

冒泡的循环语句就是这样。楼主看不明白可以把a用常数代替看看

使用特权

评论回复
6
JLINGON| | 2011-11-12 12:44 | 只看该作者
a初值为0;当a<8时,a++;进入嵌套循环,b初值为0,当b<8-a【此处的a是外层符合条件的a值】时,b++。不符合条件的退出循环~~

使用特权

评论回复
7
Light_David| | 2011-11-12 20:38 | 只看该作者
a循環8次,b在a循環內執行循環每次少一次(比8少a次),典型冒泡排序。

使用特权

评论回复
8
Enowis| | 2011-11-13 14:58 | 只看该作者
第一次a=0,然后判断a是否小与8,小于,然后执行第二个for循环,此时a=0,b=0,然后a<8-a=8,执行第二个括号里的程序,然后b=b+1=1,然后执行第二个for循环外面第一个for循环里面的程序,执行完之后,a=a+1=1,然后继续以上的步骤.假如输出的是那个乘法表,第一行8个,第二行7个....
for循环执行步骤
1:先执行第一个分号前的程序.
2:执行第二个分号前的程序(不包括第一个之前的)
3:执行{}里的程序
4:执行第三个分号前的程序.
5:重复2-4直到不满足二中的条件

使用特权

评论回复
9
hkjc007| | 2011-11-13 15:46 | 只看该作者
:kiss: 1# keanda

使用特权

评论回复
10
keanda|  楼主 | 2011-11-13 19:28 | 只看该作者
小弟刚学单片机,还不大能领会,哪位大哥能做个执行图就再好不过了,感谢各位这么热心肠!

使用特权

评论回复
11
keanda|  楼主 | 2011-11-13 19:50 | 只看该作者
第一次执行的时候for(a=0;a<8;a++) ,a=0,执行第二个for循环这时a=o,b<8-a,,所以执行第二个for循环中的语句,第二个for循环语句执行完以后不是该回过来判断b是否小于8-a吗?接下来怎么执行的,我的思路是不是不对啊

使用特权

评论回复
12
诺漫星辰| | 2011-11-14 11:22 | 只看该作者
第一次执行的时候for(a=0;a<8;a++),a=0,执行第二个for循环时,a=0,b<8-a(相当于  b<8),第二个for就循环8次跳出,a=1,执行第二for循环时,a=1,b<8-1(相当于  b<7),第二个for就循环7次跳出,以此类推。。。。。。。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

4

帖子

1

粉丝