注册 登录
编程论坛 ASP技术论坛

关于定符串数组定义出错

jxzhu 发布于 2008-07-02 22:05, 877 次点击
<% dim arr_kh() as string
  arr_kh=array("优","良","合格","不合格","A","B","C","D","甲","乙","丙","丁")
%>

上面代码运行出错会说
Microsoft VBScript 编译器错误 (0x800A0401)
语句未结束
/t3/kb_kaoping.asp, line 175, column 13
dim arr_kh() as string
------------^

把红色代码部分删除出错为:
Microsoft VBScript 运行时错误 (0x800A000D)
类型不匹配
/t3/kb_kaoping.asp, 第 176 行

再把下面一行赋值也删除就没错了,什么原因?

[[it] 本帖最后由 jxzhu 于 2008-7-2 22:08 编辑 [/it]]
5 回复
#2
multiple19022008-07-02 22:43
ASP里的代码是VBScript

VBScript的Dim没有As子句:

Dim a
Dim b()
#3
jxzhu2008-07-02 23:18
找到原因了,第一个原因as string是错误的,即在VB中不用
第二个原因是,我把dim 放到了程序的结尾,在引用时程序并未定义到末尾,故而报类型不匹配错误(有些怪,为什么不报未定义错呢?可能是把未定义的变量一律不作为数组变量名来用吧)。
#4
jxzhu2008-07-02 23:19
多谢版主解答
#5
yms1232008-07-03 12:41
VBScript里变量都是弱类型的,也就是说当赋值时才确定变量的数据类型。
比如
Dim A,B
A=123'数字类型
B="123"'字符串类型
#6
jxzhu2008-07-03 14:37
明白了,谢谢
1