VB小白问个问题。

来源:百度知道 编辑:UC知道 时间:2024/05/24 15:24:17
问题1
instr([N1,]C1,C2,[,M])函数
书上的描述是“在C1中从N1开始找C2,省略N1从头开始找,找不到为0”,举的例为Instr(2,"EFABCDEFG","EF"),结果为7.

不太明白这句话的意思,省略N1从头开始找的话就是省略2从头开始找,读不通啊。。

问题2
求1-100中3的倍数和。
private sub form_click()
for i=3 to 100 step 3
sum =0
sum=sum +i
next i
print sum
end sub
这段代码有问题,就是SUM放在了循环体里面,应该放在循环体外,我运行了一下,结果是99,请问为什么结果成了99呢?

1.
从第二开始找,但是它的位置是字符串的第几位,而不是从第二位开始计算的。
2.
private sub form_click()
sum =0
for i=3 to 100 step 3
sum=sum +i
next i
print sum
end sub

sum =0
sum=sum +i
上述代码是问题的关键,你在执行每一个for的子语句时都把sum赋值为零,然后再加上i,如此反复,sum的值其实并没有增加,只是不停地把每一个单独的i赋给sum而已。
解决:把sum=0去掉,或者把它放在for语句上面。

1.你不是已经说对了么= =
他的意思就是说如果有第一个参数N1那么就从C1的第N1个字符开找起,在其中找C2,如果没有N1的话就从C1的开头开始找C2
2因为sum放在了for里结果每次sum都是0
所以你的结果就是3开始step3循环而且不大于100
所以就是99咯