下列程序的执行结果为( )。 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。程序代码执行Do While…Loop的循环语句。循环体为tempstr=tempstr+Mid(xstr,i,1),其中变量是I,由I= Len(xstr)开始的,每循环一次减1,……;此程序段的最后输出的是字符串s1的反向输出,所以正确答案是选项C)。