jxzhu 发表于 2008-7-2 22:05

关于定符串数组定义出错

[quote]<% dim arr_kh() [color=Red]as string[/color]
  arr_kh=array("优","良","合格","不合格","A","B","C","D","甲","乙","丙","丁")
%>[/quote]
上面代码运行出错会说
[quote]Microsoft VBScript 编译器错误 (0x800A0401)
语句未结束
/t3/kb_kaoping.asp, line 175, column 13
dim arr_kh() as string
------------^
[/quote]
把红色代码部分删除出错为:
[quote]Microsoft VBScript 运行时错误 (0x800A000D)
类型不匹配
/t3/kb_kaoping.asp, 第 176 行
[/quote]
再把下面一行赋值也删除就没错了,什么原因?

[[it] 本帖最后由 jxzhu 于 2008-7-2 22:08 编辑 [/it]]

multiple1902 发表于 2008-7-2 22:43

ASP里的代码是VBScript

VBScript的Dim没有As子句:

Dim a
Dim b()

jxzhu 发表于 2008-7-2 23:18

找到原因了,第一个原因as string是错误的,即在VB中不用
第二个原因是,我把dim 放到了程序的结尾,在引用时程序并未定义到末尾,故而报类型不匹配错误(有些怪,为什么不报未定义错呢?可能是把未定义的变量一律不作为数组变量名来用吧)。

jxzhu 发表于 2008-7-2 23:19

多谢版主解答

yms123 发表于 2008-7-3 12:41

VBScript里变量都是弱类型的,也就是说当赋值时才确定变量的数据类型。
比如
Dim A,B
A=123'数字类型
B="123"'字符串类型

jxzhu 发表于 2008-7-3 14:37

明白了,谢谢

页: [1]

编程论坛