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

admin2009-02-13  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、aPDecd
C、fedcba
D、defabc

答案2

解析 主调函数是最终输出值是Pat(Fir Str)过程的返回值,这就是调用函数过程Pat。被调过程Pat的参数xStr从主调函数中收到实参Fir Str传来的值“abcdef”,过程Pat开始声明了两个变量,一个是String型的tempStr,一个是Integer型的strLen。语句 tempStr=“”strLen=Len(xStr)的功能是:为变量tempStr赋空值,变量strLen的值就是xStr的长度,此题为6。程序代码执行Do While…Loop的循环语句。
   第一次循环,i=1,i<=3成立,执行语句tempStr+Mid(xStr,i1)+Mid(xStr,strLen-i+1,1);mid函数一般调用格式:Mid(字符串,p,n)其功能就是从第p个字符开始,向后截取n个字符,第一次循环结束后,tempStr=“af”;
   第二次循环,i=2,i<=3成立,继续执行循环体,temp Str=“afbe”;
   第三次循环,i=3,i<=3成立,继续执行循环体,temp Str=“afbecd”
   第四次循环,i=4,i<=4不成立,则跳出循环体,执行语句Pat=temp Str。所以最终 Pat(Fir Str)=“afbecd”,即最后程序执行结果如选项B所示。
转载请注明原文地址:https://jikaoti.com/ti/OXq0FFFM
0

最新回复(0)