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

admin2009-03-15  18

问题 下列程序的执行结果为      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

答案2

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

最新回复(0)