下列程序的执行结果为 Private Sub Command1_Click() Dim FirStr As String FirSt="abcdef" Print Pat(FirStr) End Sub Private Function Pat(

admin2010-11-20  17

问题 下列程序的执行结果为
Private Sub Command1_Click()
Dim FirStr As String
FirSt="abcdef"
Print Pat(FirStr)
End Sub
Private Function Pat(xStr As String) As String
Dim tempStr As String, strLen As Integer
tempStr=""
strLen=Len(xStr)
i=1
Do While i<=Len(xStr) -3
    tempStr=tempStr+Mid(xStr, i, 1)+Mid(xStr, strLen -i+1, 1)
    i=i+1
Loop
Pat=tempStr
End Function

选项 A、abcdef
B、afbecd
C、fedcba
D、defabc

答案B

解析 主调函数最终输出值是Pat(FirStr) 过程的返回值,这就得调用函数过程Pat。
被调过程Pat的参数xStr从主调函数中收到实参FirStr传来的值"abcdef",过程Pat开始声明了两个变量,一个是String型的tempStr,一个是Integer型的strLen。语句 tempStr = " "。
strLen = Len(xStr)以上两条语句的功能是:为变量tempStr赋空值,变量strLen的值就是xstr的长度,此题为6。程序代码执行Do While匧oop的循环语句:
第1次循环结束后,tempStr="af";
第2次循环,i=2,i<=3成立,继续执行循环体,tempStr="afbe";
第3次循环,i=3,i<=3成立,继续执行循环体,tempStr="afbecd";
第4次循环,i=4,i<=3不成立,则跳出循环体,执行语句Pat =  tempStr。所以最终Pat(FirStr)="afbecd"。
转载请注明原文地址:https://kaotiyun.com/show/bSmp777K
0

最新回复(0)