AU3实例脚本问题咨询[已解决]
本帖最后由 leilei123 于 2012-10-6 09:47 编辑实例:
Dim $Ten,$Twenty,$Fifty
Dim $s
$s=""
For $Ten=0 To 20
For $Twenty=0 To 20
For $Fifty=0 To 12
If $Ten+$Twenty+$Fifty=20 And $Ten*10+$Twenty*20+$Fifty*50=600 Then
$s=$s&"10 元:"&$Ten&"张" &"20 元:"&$Twenty&"张"&"50 元:"&$Fifty&"张"&@CRLF
EndIf
Next
Next
Next
MsgBox(0,"循环结构实例",$s)
疑问:
$s=""
为什么需要定义空字符,我试过把定义的空字符串去掉,输出结果会完全不一样,但就是不明白原因,请指教! 有和没有运行后结果没有区别 没有区别额。。。 本帖最后由 32714107 于 2012-9-19 22:22 编辑
把定义的空字符串去掉,输出结果会完全一样的,至于原因。我认为是autoit本身程序就是这样规定的,在skyfree老前辈写的autoit学习指南中(写于2008年8月11日)第二章第二节最后有这么一句话:“autoit中,任何变量如果在声明后不为其赋值,那么其默认为空字符”(在2011年10月出版的au3自学手册中没找到这句话,感觉还是加上的好)
注销$s=' ' 前后对比。无差异。。 $s=$s&"10 元:"&$Ten&"张" &"20 元:"&$Twenty&"张"&"50 元:"&$Fifty&"张"&@CRLF
第2个$s有和没有输出是不一样的吧,这个地方的$s的作用能给解释不,不理解,谢谢各位 本帖最后由 半芯竹 于 2012-9-21 15:31 编辑
Local $a=''
For $i =1 To 4
$a=$a&$i&@CRLF
Next
MsgBox(0,0,$a)
如以上例子,$a只是一个变量,跟你上面的例子一样,循环四次,$a就递增四次。
如果没有第二个$a[等号右边的],$a就只能等于最后一个循环的得数,因为$a只是一个变量。
如下例子
Local $a=''
For $i =1 To 4
$a=$i&@CRLF
Next
MsgBox(0,0,$a)
这是等号右边没有$a的情况,第一次循环时,$a=1,第二次是$a=2,这个时已经将变量$a的值重新给定义了
直到最后的第四次循环时,$a=4,这时,才是$a变量最终的值。。因为$a没有递加。 回复 7# 半芯竹
我怎么感觉
Local $a=''
For $i =1 To 4
$a=$i&@CRLF
Next
MsgBox(0,0,$a)
这个样子$a 也是4次循环递增的哪?
For $i =1 To 4
$a=$i&@CRLF
$i=1,$a=1 然后换行,直到$i=1,$a=4
最后问下输出结果是字符还是数值? 回复 8# leilei123
你这个$a的值没有递增好不好,只不过是不断更改四次内容。。并没有相加起来。。 {:face (229):}回复 9# 半芯竹
Local $a=''
For $i =1 To 4
$a=$a&$i&@CRLF
Next
MsgBox(0,0,$a)
我的理解是$i=1,$a=""1也就是1然后回车
$i=2,$a=1&2,也就是12然后回车
·······
页:
[1]