找回密码
 加入
搜索
查看: 1485|回复: 4

关于一维数组的问题请教

[复制链接]
发表于 2008-12-5 03:11:17 | 显示全部楼层 |阅读模式
.......搞的睡不着觉了..
const $N=3
Dim $a[$N],$i,$s=""
For $i=0 To $N-1
        $a[$i]=$i
Next
For $i=0 To $N-1
        $s=$s&$a[$i]&""
Next
MsgBox(0,"范例",$s)
这个例子...最后$s怎么得到012的?
单独输出的话,,$s=$s&$a[0]&'''=000
                       $s=$s&$a[1]&'''=111
                       $s=$s&$a[2]&'''=222
为什么输出结果是012?
发表于 2008-12-5 08:35:29 | 显示全部楼层
因为你用的是字符连接,而$a[0]是0,$a[1]是1,$a[2]是2,那么结果只能是012!
发表于 2008-12-5 08:41:21 | 显示全部楼层
再说清楚点:

const $N=3
Dim $a[$N], $i, $s
For $i = 0 To $N-1
        $a[$i] = $i
Next
For $i=0 To $N-1
        $s = $s & $a [$i]
Next
MsgBox(0,"范例",$s)

这样输出的是:

$s = $a[0] & $a[1] & $a[2]

如果是按你说的单独输出就是其中的一个数和自身的本值连接两次,那就会得到一个三个数字相同的数
发表于 2008-12-5 17:49:33 | 显示全部楼层
你的脚本会输出整个数组的内容,你本来是想达到什么效果??
发表于 2008-12-7 19:59:55 | 显示全部楼层
const $N=3
Dim $a[$N],$i,$s=""
For $i=0 To $N-1
        $a[$i]=$i
Next
For $i=0 To $N-1
        $s=_StringRepeat($a[$i],3)
        ConsoleWrite($s&@CRLF)
        MsgBox ( 0, "", $s ,2)
Next

func _StringRepeat($String,$Number)
        local $TempString = ""
        if StringIsDigit($Number) and number($Number)>0 then
        for $i = 1 to number
                $TempString &= $String
        next
        return $TempString
        endif
        return ""
endfunc
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-23 09:28 , Processed in 0.072498 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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