找回密码
 加入
搜索
查看: 4761|回复: 9

[AU3基础] AU3实例脚本问题咨询[已解决]

  [复制链接]
发表于 2012-9-19 15:16:53 | 显示全部楼层 |阅读模式
本帖最后由 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=""
为什么需要定义空字符,我试过把定义的空字符串去掉,输出结果会完全不一样,但就是不明白原因,请指教!
发表于 2012-9-19 17:13:50 | 显示全部楼层
有和没有运行后结果没有区别

评分

参与人数 1金钱 +10 收起 理由
leilei123 + 10

查看全部评分

发表于 2012-9-19 21:36:44 | 显示全部楼层
没有区别额。。。

评分

参与人数 1金钱 +10 收起 理由
leilei123 + 10

查看全部评分

发表于 2012-9-19 22:20:51 | 显示全部楼层
本帖最后由 32714107 于 2012-9-19 22:22 编辑

把定义的空字符串去掉,输出结果会完全一样的,至于原因。我认为是autoit本身程序就是这样规定的,在skyfree老前辈写的autoit学习指南中(写于2008年8月11日)第二章第二节最后有这么一句话:“autoit中,任何变量如果在声明后不为其赋值,那么其默认为空字符”(在2011年10月出版的au3自学手册中没找到这句话,感觉还是加上的好)

评分

参与人数 1金钱 +20 收起 理由
leilei123 + 20

查看全部评分

发表于 2012-9-19 23:18:33 | 显示全部楼层


注销  $s=' '   前后对比。无差异。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +10 收起 理由
leilei123 + 10

查看全部评分

 楼主| 发表于 2012-9-21 11:10:34 | 显示全部楼层
$s=$s&"10 元:"&$Ten&"张  " &"20 元:"&$Twenty&"张  "&"50 元:"&$Fifty&"张  "&@CRLF  

第2个$s有和没有输出是不一样的吧,这个地方的$s的作用能给解释不,不理解,谢谢各位
发表于 2012-9-21 15:24:41 | 显示全部楼层
本帖最后由 半芯竹 于 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没有递加。
 楼主| 发表于 2012-9-22 10:38:15 | 显示全部楼层
回复 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
最后问下输出结果是字符还是数值?
发表于 2012-9-22 10:41:29 | 显示全部楼层
回复 8# leilei123


    你这个$a的值没有递增好不好,只不过是不断更改四次内容。。并没有相加起来。。
 楼主| 发表于 2012-9-22 11:38:47 | 显示全部楼层
回复 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然后回车
          ·······
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 07:45 , Processed in 0.099926 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表