设有如下程序: Private Sub Inv(ByVal xStr As String,yStr As String) Dim tStr As String Dim L As Integer L=Len(xStr) Do

admin2020-01-02  17

问题 设有如下程序:
    Private Sub Inv(ByVal xStr As String,yStr As String)
    Dim tStr As String Dim L As Integer
    L=Len(xStr)
    Do While L>=1
    tStr=tStr+Mid(xStr,L,1):L=L-1
    Loop
    yStr=tStr
    End Sub
    Private Sub Form Click()
    Dim S1 As String.S2 As String
    S1="abcdef"Inv S1.S2
    Print S2
    End Sub
    运行程序,单击窗体,输出结果为

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

答案C

解析 在Visual Basic中调用过程时,参数有两种传递形式:按值传递(Byval)和按址传递(Byref),默认为按址传递。其中,当参数按址传递时,如果在引用该参数的过程中改变了形参的值,同时也就改变了传递参数时实参变量的值。本题中Inv的参数xStr是按值传递的,ystr是按地址传递的,因此在Inv中对xStr的改变不会影响实参S1,对yStr的操作会影响实参S2。过程Inv的作用是在每次循环中取出S1字符串靠后面的值连接到tStr中,然后将tStr赋值给yStr从而通过地址传递带回给S2,即字符串的逆序。
转载请注明原文地址:https://kaotiyun.com/show/nBTp777K
0

相关试题推荐
最新回复(0)