
Dim i, j as integer 表明i和j都是整型变量。为什么是错的?
展开全部
Dim i, j as integer
相当于
Dim i
Dim j as integer
也就是
Dim i as Variant
Dim j as integer
这也就是说,i是Variant(变体型),只有j才是整型
补充说明:
我发现有好多大学生编的VB程序都有这样的问题:
Dim a, b, c, d As String
其实这是完全错的。在这里,逗号的优先级要高于As,也就是说,上面语句相当于:
Dim a
Dim b
Dim c
Dim d As String
也就是
Dim a As Variant
Dim b As Variant
Dim c As Variant
Dim d As String
虽然在多数情况下,这么做并不会造成程序出错(因为Variant可以代替其他任何类型),但这跟你设计的初衷就有很大出入了(且不说用Variant会造成资源浪费、效率降低)。程序应该是严谨的,差之毫厘谬以千里,所以我们应该养成良好的正确的编程习惯,正确的写法应该是:
Dim a As String, b As String, c As String, d As String
补充说一句,我怀疑是不是现在大学的电脑老师就是这样教的(即Dim a, b, c, d As String)?我不知道,因为我是自学的。如果真是这样,那我对中国的教育真是失望透顶了!没救了!!!
再补充一句:要验证我说的对不对,可以用下面的代码:
Dim a, b As String
Print "a的类型是" & TypeName(a)
Print "b的类型是" & TypeName(b)
相当于
Dim i
Dim j as integer
也就是
Dim i as Variant
Dim j as integer
这也就是说,i是Variant(变体型),只有j才是整型
补充说明:
我发现有好多大学生编的VB程序都有这样的问题:
Dim a, b, c, d As String
其实这是完全错的。在这里,逗号的优先级要高于As,也就是说,上面语句相当于:
Dim a
Dim b
Dim c
Dim d As String
也就是
Dim a As Variant
Dim b As Variant
Dim c As Variant
Dim d As String
虽然在多数情况下,这么做并不会造成程序出错(因为Variant可以代替其他任何类型),但这跟你设计的初衷就有很大出入了(且不说用Variant会造成资源浪费、效率降低)。程序应该是严谨的,差之毫厘谬以千里,所以我们应该养成良好的正确的编程习惯,正确的写法应该是:
Dim a As String, b As String, c As String, d As String
补充说一句,我怀疑是不是现在大学的电脑老师就是这样教的(即Dim a, b, c, d As String)?我不知道,因为我是自学的。如果真是这样,那我对中国的教育真是失望透顶了!没救了!!!
再补充一句:要验证我说的对不对,可以用下面的代码:
Dim a, b As String
Print "a的类型是" & TypeName(a)
Print "b的类型是" & TypeName(b)
展开全部
在VB.NET下是对的。
在VB6.0及以前的版本中要在每个变量后面都分别指定类型,不指定的就是变体类型。
在VB6.0及以前的版本中要在每个变量后面都分别指定类型,不指定的就是变体类型。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上正解,这样定义i就被定义成variant即变体型了,想要省事可以这样:
dim i as integer, j as integer
dim i as integer, j as integer
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询