请帮忙解释下VB的Instr函数和数组问题

来源:百度知道 编辑:UC知道 时间:2024/07/01 13:20:08
1、麻烦帮忙详细解释下Instr函数,并解释下Instr(3,"A12a34A56","A")的结果是什么。
2、设有如下程序代码:Option Base 1
private Sub Command1_click()
dim a(-1 To 2) As Integer, b() As Variant
b=Array(1,3,5)
print LBound(a),UBound(a)
print LBound(b),UBound(b)
End Sub
执行后,单击命令按钮Command1,输出结果为:————
麻烦讲下具体过程和答案。THANK YOU 啦
3、请问VB 求以内的奇数怎么编
4、将变量A、B中存放的数据交换的三种方法是什么

1) 7
2)
-1 2
0 2

1.
Instr函数:
第一个参数是搜索的起始字符(第几个字符,当然是从1开始)
第二个参数是从什么地方搜索(搜索源)
第三个参数是搜索什么

因此 A12a34A56中从第三个字符(2)开始搜索(包括2)字符A,那么第一个A就不在范围内,搜索到的是34A56中的A,这个A是全部字符串中第7个字符 因此这个Instr返回7

2.UBound是拿到数组的上标,LBound是得到数组的下标
UBound,LBound有两个参数 其中第二个参数是可选的,表示得到第几维的上标或者下标

返回题目

题目中 a是从-1~2 也就是说a的下标是-1。上标是2
因此LBound(a),UBound(a)返回应该是-1 2

而b是一个动态数组,用了array函数进行了数组初始化
在没有设置的情况下,函数默认从第0个开始
array(1,3,5)包含三个数,因此数组的上标应该是 多少个数-1=2
附:使用后b的内容
b(0)=1
b(1)=3
b(2)=5

所以第二行LBound(b),UBound(b) 应该是0 2

3.
求n以内奇数
dim n as integer,o as string,i as integer
n = 10 '10以内奇数
for i = 0 to 10 '从0~10循环
if i mod 2 = 1 then 'mod:求余运算 如果n mod 2=1代表n是奇数
o = o & i '把这个数加入到o中
end if
next
print o '输出有哪些数

4.
第一种 三角交换 使用一个临时变量储存其中一个数 然后去交换
dim a as integer,b as integer,n as inte