问题
单项选择题
下列程序的执行结果为()。 Private Sub Commandl_Click() Dim s1 As String ,s2 As String s1= "abcd" Call Transfer(sl,s2) Print s2 End Sub Private Sub Transfer (ByVal xstr As String,ystr As String) Dim tempstr As String ystr=tempstr End Sub
A. dcba
B. abdc
C. abcd
D. dabc
答案
参考答案:A
解析:主调函数最终输出值是s2值,这就得调用函数过程Transfer函数。 被调过程Transfer的参数xstr,ystr从主调函数中收到实参s1,s2传来的值" abcd ",过程Transfer开始声明了两个String型的变量,xstr、ystr。i=Len(xstr)语句的功能是:i的值就是xstr的长度,此题为4。程序代码执行Do While…Loop的循环语句。循环体为 tempstr = tempstr + Mid(xstr,i,l),其中变量是I,由I=Len(xstr)开始的,每循环一次减1。此程序的最后输出的是字符串s1的反向输出。