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

admin2012-03-22  19

问题 下列程序的执行结果为    Private Sub Command1_Click()    Dim FirStr As String      FtrSt="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。语句ternpStr=""。
   strLen=Len(xStr)以上两条语句的功能是:为变量tempstr赋空值,变量strkn的值就是xstr的长度,此题为6。程序代码执行Do While…Loop的循环语句:
   第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/DGhp777K
0

最新回复(0)