VB的相关问题

来源:百度知道 编辑:UC知道 时间:2024/07/03 03:04:59
Private Sub Form_Click()
Dim i As Integer, s As Integer
For i = 1 To 3
s = 0
For j = 1 To 3
s = s + 1
Next j
Next i
Print s
End Sub...........结果为3

Private Sub Form_Click()
Dim i As Integer, s As Integer
s = 0
For i = 1 To 3
For j = 1 To 3
s = s + 1
Next j
Next i
Print s
End Sub....结果为9
这是为什么呢?s=0位置的不同为什么会影响答案呢?
还有想问一下,s给不给初始值有什么不同?给了怎么算,不给又怎么算啊?
焦急的等待各位的答案,谢谢谢谢了~~~~

第一个s=0,是在外层For循环中,内层循环外,所以在执行内循环的时候S不会被设成0,但是每次执行外循环就会被设成0,得到结果3
第二个S=0,是在外层For循环外,所以只是给定了S=0,并不参与循环,不会被重新设成0,所以是9
不给S 初始值,一般都是按0来算

第二个s算了9次(两重for循环),第一个s虽然也是算了9次,但是第7次的时候,就是最后一次外层for循环的时候s又被设成了0,所以是3,而第二个程序是9.
s不给初值,就是不确定的一个数,一般是能表示的最小的负数。良好的编程习惯都是要给定初值的。