mr.potato土豆专门店:关于VB的问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 22:59:10
下列程序段的执行结果为______。
Dim m(3, 3) As Integer
Dim i As Integer
Dim j As Integer
Dim x As Integer
For i = 1 To 3
m(i, i) = i
Next
For i = 0 To 3
For j = 0 To 3
x = x + m(i, j)
Next
Next
print x

解答是这样的:
通过第一个以i为循环变量的循环,令m(1,1)=1,m(2,2)=2,m(3,3)=3。
然后通过双重循环,求数组m中所有元素的和并将结果赋值给x,由于在数组m中除了m(1,1)、m(2,2)和m(3,3)外其他元素都为0,所以x=1+2+3=6。

请问为什么m(0,1)m(0,2),m(0,3)等等这些都为0呢?谢谢

默认为0
VB自动对未操作过的变量(包括数组)在输出时赋默认值。
如:dim a as integer
a=a+1 此时相当于a=0,a=0+1
C语言不会这样,对于一个变量在使用前必须先赋初值,否则变量的值为不确定的值

在VB中,对于数值型变量和数组在定义的时候都会进行初始化,初始化值为零

如:

定义单一变量 dim total as long ,则VB自动对变量进行了初始化 ,total=0
定义数组: dim a(3,5),则变量中所有的元素都初始化为零

这是VB语言的一个特点