一声-汪
2017-12-08 06:57
采纳率: 100%
浏览 1.8k
已采纳

Vb中自定义函数的返回值包含自身,这种情况如何判断?求解释

Private Sub Command1__Click()
Print test("abc")
End Sub

Function test(s As String) As String
For i = 1 To 3
test = Mid(s, i, 1) + test
Next i
End Function

输出的结果是“cba”,变成字符串拼接的操作了,不是很理解里面的原理。求解释

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • zyzhyue 2017-12-08 08:38
    已采纳

    原理如下:
    VB里函数中出现“自身”,并不是自我调用,而只是变量。
    因此,在这里,
    一开始,test 缺省为空,循环中:
    第一次赋值,相当于 test ="a" + 空 = "a"
    第二次,test = "b" + "a" = "ba"
    ……

    已采纳该答案
    打赏 评论
  • gpcsss_007 2017-12-08 07:11

    对于这类字符串我也不是很清楚

    打赏 评论
  • gltide 2017-12-08 07:20

    i=1,mid取a,i=2,mid取不,i=3mid取c。关键是拼接,每次取字符后都是把取的字符拼接在原字符串之前(test = 每次取的字符 + test)。

    打赏 评论
  • xiaomuyu2012 2017-12-08 08:34

    i=1 mid(s,1,1)是a,test=a
    i=2 mid(s,2,1)是b,test=b+a 就是ba
    i=3 mid(s,3,1)是c,test=c+ba 就是cba

    打赏 评论
  • qq_27560613 2017-12-08 09:51

    原理如下:
    VB里函数中出现“自身”,并不是自我调用,而只是变量。
    因此,在这里,
    一开始,test 缺省为空,循环中:
    第一次赋值,相当于 test ="a" + 空 = "a"
    第二次,test = "b" + "a" = "ba"
    ……

    打赏 评论

相关推荐 更多相似问题