vgy0dl 发表于 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&'''=000
                     $s=$s&$a&'''=111
                     $s=$s&$a&'''=222
为什么输出结果是012?

liongodmien 发表于 2008-12-5 08:35:29

因为你用的是字符连接,而$a是0,$a是1,$a是2,那么结果只能是012!

liongodmien 发表于 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 & $a & $a

如果是按你说的单独输出就是其中的一个数和自身的本值连接两次,那就会得到一个三个数字相同的数

juyz 发表于 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
页: [1]
查看完整版本: 关于一维数组的问题请教