急求大神告知这题为什么选C
来源:学生作业帮助网 编辑:六六作业网 时间:2025/01/31 00:49:49
急求大神告知这题为什么选C
急求大神告知这题为什么选C
急求大神告知这题为什么选C
这题属于中等偏难的题目 请结合我的注释看下去
Private Sub Form_Click()
\x05Dim x() As String '定义一个大小未确定的字符串类型数组
\x05a = "Howareyou!" '给a 赋值,值是字符串
\x05n = Len(a) '确定字符串的长度
\x05ReDim x(1 To n) '重新定义x数组的大小
\x05For i = n To 1 Step -1 '从循环变量从n开始做循环
\x05\x05x(i) = Mid(a,i,1) '取a中的指定字符,赋值给x数组
\x05Next i
\x05For i =1 To n
\x05\x05Print x(i) '逐字输出字符
\x05Next i
End Sub
本题x数组定义是为了存放字符串中的各个字符.
前面没什么问题
从第一个循环说起
这里从之前代码知道n就是10,你就把后文的n全都换成10,让题目清晰一点
For i = 10 To 1 Step -1
x(i) = Mid(a,i,1)
Next i
这里还涉及Mid()的考察
Mid(a,i,k) 意思就是从字符串 a 中截取 第i位开始 长度为k的字符串
先看第一次循环,i=10
式子我简化一下
x(10) = Mid(""Howareyou!",10,1)
就是截取字符串"Howareyou!"中 第10位开始长度是1位的字符 就是 感叹号"!"
再继续x(9)就是第九位字符 u
你仔细一看会发现 数组里是被拆开的字母和标点,顺序并没有变化
最后逐字输出
For i =1 To n
\x05Print x(i) '逐字输出字符
Next i
因为这次是从i=1开始循环的,就是按照顺序从x(1)开始逐字输出
也就是没有变化它的顺序再重新输出
你先理解和消化一下,不懂再问