Option Base 1
Private Sub Command1_Click()
Dim a
a = Array(10, 20, 30)
For j = 1 To a(j + 1)
k=1
k=k*j
next j
print j;k
end sub
运行结果为 11,10
第一次循环中为什么j =1作为初值后a(j+1)中j+1的值是1 而不是0呢?
弟弟,没错,我上机又试了一次,要不你再看看
追答嗯,是我考虑的不足,错了,提问者采纳的是正解!
学习了。
上面的答案正解。
总的来说,不会影响你后面的情况,还是会在1到a(2)中循环
这个没看到你定义 j,k。
应该是前面定义为integer类型,而还没给它们赋值的情况(会被系统默认赋值为0)。
刚运行到for j = 1 To a(j + 1) 的时候,j还没有被赋值,暂时还被默认为等于0,所以j+1显示是1,但是运行到k=1的位置,也就是上面已经进行赋值了,就会显示为j=1,a(j+1)=20了,并不会影响你下面其他的计算。
你可以试一下在前面赋值其他(比如-1),看是不是刚运行到for这个位置时,j 还显示为-1,运行到k=1,才变为 j=1.
如果你想要第一次一进入到for j = 1 To a(j + 1) 的时候 j 就为1,可以先在前面给j 赋值 1。
好好学习了一下,谢谢!
本回答被提问者采纳vb中一个简单for循环的问题
For 循环变量=初值 To 终值 [Step 步长][语句]Next[循环变量]当步长缺省时,缺省值为1。在Visual Basic中For循环属于“先检查后执行”语句,这种语句的执行过程:当步长为正,“循环变量”首先取得“初值”,检查是否超过“终值”,如果超过就一次也不执行而跳出循环。如果没有超过就执行循环体内的语句...
VB For 循环语句的用法
For循环的格式: For 循环变量 = 初值 To 终值 [Step 步长] [循环体] Next [循环变量] 注意: 1) 当步长 0 时 循环执行的条件:循环变量 = 终值 2) 当步长 0 时 循环执行的条件:循环变量 = 终值 强行退出 For 循环,请使用 Exit For。举例 举例1: 单击命令按钮 Command1 后,先后弹出...
VB中FOR循环STEP的问题
(1)s = 0,给s设初值0 (2)For i = 1 To 5,第一次执行这一句时,对i设初值1,以后每次执行这一句时都判断i的值是否介于初值和终值之间,也就是在1和5之间,如果在这个范围之内,就执行下一句,如果超出这个范围,就去执行next i后面的那一句了。——楼主所提的问题,这一句话是第一个...
VB中循环语句的循环值如何计算
当步长为正数时: 循环变量的值=n+步长(直到循环变量的值大于终值时才停止循环),其中n是由初值往终值方向递增。 举例1 for i=2 to 6 step 2 print i next i 上面的for循环是这样执行的 <1> 第一次循环:i=2 所以第一次循环结束后i的值等于2 然后检查...
VB中循环语句的循环值如何计算
当步长为正数时:循环变量的值=n+步长(直到循环变量的值大于终值时才停止循环),其中n是由初值往终值方向递增。举例1 for i=2 to 6 step 2 print i next i 上面的for循环是这样执行的 <1> 第一次循环:i=2 所以第一次循环结束后i的值等于2 然后检查循环变量是否大于终值,如果不大于就继续...
vb 中for循环 在循环体中给循环变量赋值,会改变循环次数吗
会的。For 变量 = 初值 To 终值 Step 步长 '在循环体内修改循环变量的值,将会直接改变循环次数 '但是,初值、终值、步长则不会受循环体内修改的影响 '也就是说即使你在循环体内修改这些值,它们也仍然保持循环开始时的值不变Next
vb循环语句中,初值、终值和步长为小数,怎么计算循环次数?
((终止值-初值)除以步长)+1 不管是小数 还是整数都是如此来计算循环次数 只不过小数需要考虑四舍五入的问题 就比如你图中的for i = 1 to 1.5 step 0.1 来说 当i=1.5的时候 i会被四舍五入成2 直接跳出循环
VB for 循环问题 细节 请进来看
你应该是 for i=1 to -1 step-1 next i 步长应该是-1,因为你的结束值比初始值要小
VB中循环计数的问题!送10分!
for循环正常完成后,循环变量是比终值多出一个步长。在这里终值是20,步长是1(默认),所以循环之后n就是21
求语句结果 vb for语句和循环过程
由于For循环的步长(Step)是-1,所以这是个递减的循环,但是循环初值1已经小于终值5,所以这个循环实际上是不会执行的(但是循环变量K仍然会被赋初值为1),这时候Y=3,K=1,所以答案是A