A-A+

下列程序的执行结果为 Ptivate Sub Commandl_Click() Dim Fi

2022-08-06 02:23:42 问答库 阅读 174 次

问题详情

下列程序的执行结果为 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请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:B
解析:主调函数最终输出值是Pct(FirStr)过程的返回值,这就得调用函数过程Pct。被调过程Pct的参数xStr从主调函数中收到实参FirStr传来的值“abcdef”,过程Pct开始声明了两个变量,一个是String型的tempStr,一个是Integer型的strLen。语句tempStr=""和strLen=Len(xStr)的功能是,为变量tempStr赋空值,变量strLen的值就是xstr的长度,此题为6。程序执行DoWhile…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"。

考点:结果,程序