编写如下程序: Private Sub Command1_Click()   Dim str1 As String, str2 As String   str1=InputBox("输入一个字符串")   subf str1, str2   Print s

admin2020-07-22  21

问题 编写如下程序:
Private Sub Command1_Click()
  Dim str1 As String, str2 As String
  str1=InputBox("输入一个字符串")
  subf str1, str2
  Print str2
End Sub
Sub subf(s1 As String, s2 As String)
  Dim temp As String
  Static i As Integer
  i=i+1
  temp=Mid(s1, i, 1)
  If temp<>"" Then subf s1, s2
  s2=s2 & temp
End Sub
程序运行后,单击命令按钮Command1,且输入"abcdef",则输出结果为(  )。

选项 A、afbecd
B、cdbeaf
C、fedcba
D、adbecf

答案C

解析 程序中过程subf的两个参数都默认按址传递,其内部定义的变量i为Static即静态变量,在过程调用时它会保留上次的值。这个过程的功能是通过递归调用自己依次取出参数1中即s1中的字符连接在s2的尾部,即使s1的字符串倒序后存入s2中。程序中输入了abcdef,则输出结果为fecdba。
转载请注明原文地址:https://kaotiyun.com/show/ifHp777K
0

最新回复(0)