vb中没有定义的变量默认是哪一种?都像Dim那样不保留其值吗?

来源:百度知道 编辑:UC知道 时间:2024/07/07 08:53:40
例如:
private sub cmd1_click()
static x as integer
cls
for i= 1 to 2
y =y+x
x=x+2
next
? x,y
end sub

这里面的y没有定义,x由static定义,每次运行的值都保留,y的值每次都不变吗?没有定义的变量默认是哪一种?

static 声明的是模块级的变量,未声明的变量会根据其数据内容自动决定其数据类型,比如y=10,则y的类型为Long,y=10.1,则y的类型为Double,y="10",则y的类型为String,并且y的类型是可变的,重新赋给一个另一种类型的值时它会变成相应的数据类型

在这段代码中,每点击一次CMD1,y都被重新赋值为0,如果在过程外用Dim声明y,则y的值是保存的