VB 简单问题我不懂
来源:百度知道 编辑:UC知道 时间:2024/05/09 00:09:14
Dim m(5)
For K = 1 To 5
m(K) = K * K
Next K
Print m(K - 1)
为什么结果就25,而不是16呢.大大家解释下 谢谢
For K = 1 To 5
m(K) = K * K
Next K
Print m(K - 1)
为什么结果就25,而不是16呢.大大家解释下 谢谢
for 循环由1 开始到5
k=1
m(0)=0
m(1)=k*k=1*1=1
m(2)=0
m(3)=0
m(4)=0
m(5)=0
k=2
m(0)=0
m(1)=1
m(2)=k*k=2*2=4
m(3)=0
m(4)=0
m(5)=0
k=3
m(0)=0
m(1)=1
m(2)=4
m(3)=k*k=9
m(4)=0
m(5)=0
k=4
m(0)=0
m(1)=1
m(2)=0
m(3)=0
m(4)=k*k=4*4=16
m(5)=0
k=5
m(0)=0
m(1)=1
m(2)=4
m(3)=9
m(4)=16
m(5)=k*k=5*5=25
k继续加当k>5的时候就停止
所哟for循环完的时候k的值是6不是5
所以就是25不是16
Dim m(5)
For K = 1 To 5
m(K) = K * K
Next K
Print m(K - 1),k
这样运行一下你就明白
我上次回答有误
adai011 正解
VB 中 For 循环
For 循环结束时循环变量的值是 终值 + 1
For K = 1 To 5
m(K) = K * K
Next K
'这时 K 是 6
Print m(K - 1) 就是 显示 m(5)
所以结果是 25
哈哈,错,跳出循环后,K值已经是6而不是5,因为当为5时还要执行一次循环。所以最后M(K-1)结果应该是打印M(6-1)即M(5)了
他们说的对啊