laojikelly 发表于 2009-4-12 04:23:34

let's autoit中例子,求注释

dim $a,$b,$c
dim $t
$a=6
$b=2
$c=7
if $a>$b Then
        $t=$a
        $a=$b
        $b=$t
EndIf
if $a>$c Then
        $t=$a
        $a=$c
        $c=$t
EndIf
if $b>$c Then
        $t=$b
        $b=$c
        $c=$t
EndIf
msgbox(0,"三个数排序","从小到大依次为:"&$a&","&$b&","&$c)

看了let's autoit中的例子,虽然上面已经有说明了,但对于像我这种没有编程基础的菜鸟来说还是比较难理解的。
请各位有心人士帮我给以上每行代码写上注释好吗?

[ 本帖最后由 laojikelly 于 2009-4-12 06:48 编辑 ]

laojikelly 发表于 2009-4-12 06:46:47

我已经理解了。。。

laojikelly 发表于 2009-4-12 06:48:15

因为$a<$b<$c,就算$a真实是最大都必须对数据进行交换,从而必须把$a变成最小.
如果$a>$c就要通过数据交换把$c变成最大,$a要变成比$c要小。
如果$a>$b就要把$a变到比$b要小。$b要比$a大。
最后就是要把$c>$b,尽管$b真实数据比$c大,通过数据交换,就可以把$b<$c

当$a=4,$b=1,$c=3的时候。
把数值都替换进去。
if $a>$b,数据交换过后。那么$b=4,$a=1
既然$b=4,$a=1,那么if $a>$c就不存在了。(当实际上$a=4,$b=1,或实际上$a>$b的情况下才可以删除。)
那么,既然$b=4,$a=1,$c=3,那就是$b>$c,所以$if $b>$c就起作用了。
通过数据交换后,$c变成4,$b变成3.


不知我理解得对不对?放正我按照这样理解是成功的。不知大家有没有看明白。我表达能力好差。
页: [1]
查看完整版本: let's autoit中例子,求注释