问题 单项选择题

下列程序的执行结果为( )。  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)。

填空题
多项选择题 案例分析题