下列程序的执行结果为  Ptivate Sub Commandl_Click()    Dim FirStr As String    FirStr="abcdef"    Print Pct (FirStr)  End Sub  Private Func

admin2009-01-15  22

问题 下列程序的执行结果为  Ptivate Sub Commandl_Click()    Dim FirStr As String    FirStr="abcdef"    Print Pct (FirStr)  End Sub  Private Function Pct(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,l) + Mid(xStr,strLen - i+i ,1)      i=i  + 1    Loop    Pct=tempStr  End FunCtion

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

答案2

解析 主调函数最终输出值是Pct(FirStr)过程的返回值,这就得调用函数过程Pct。被调过程Pct的参数xStr从主调函数中收到实参FirStr传来的值“abcdef”,过程Pct开始声明了两个变量,一个是String型的tempStr,一个是Integer型的strLen。语句tempStr = " " 和 strLen = Len(xStr)的功能是,为变量tempStr赋空值,变量strLen的值就是xstr的长度,此题为6。程序执行Do While…Loop的循环语句的过程如下:
  第一次循环,I=l,I<= 3成立,执行语句tempStr + Mid(xStr,i,1) + Mid(xStr,
strLen - i+1,1);
  第二次循环,1=2,I<=3成立,继续执行循环体,tempStr=“afbe”;
  第三次循环,I=3,I<=3成立,继续执行循环体,tempStr=“afbecd”;
  第四次循环,I=4,I<=3不成立,则跳出循环体,执行语句Pct = tempStr。所以最
终Pct(FirStr)=" afbecd "。
转载请注明原文地址:https://jikaoti.com/ti/o080FFFM
0

最新回复(0)