A-A+
下列程序的执行结果为 Private Sub Command1_Click() Dim s1
问题详情
下列程序的执行结果为 Private Sub Command1_Click() Dim s1 As String,s2 As String S1;="abcdef" Call Invert(s1,s2) Print s2 End Sub Private Sub Invert (ByVal xstr As String,ystr As String) Dim tempstr As String i=Len(xstr) Do While i>=1 tempstr=tempstr+Mid(xstr,i,1) i=i-1 Loop ystr=tempstr End Sub
A.fedcba
B.abcdef
C.afbecd
D.defabc请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:A
解析:被调过程Invert的参数xstr,ystr从主调函数中收到实参s1,s2传来的值“abcdef”,过程Invert开始声明了两个变量,都是String型的:xstr,ystr。I=Len(xstr)以上语句的功能是:i的值就是xstr的长度,此题为6。程序代码执行DoWhile…Loop的循环语句。循环体为tempstr=tempstr+Mid(xstr,i,1),其中变量是I,由I=Len(xstr)开始的,每循环一次减1,……;此程序段的最后输出的是字符串s1的反向输出,所以正确答案是选项C.