问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于Visual Basic的一个问题

发布网友 发布时间:2022-05-11 02:31

我来回答

1个回答

热心网友 时间:2023-05-22 21:41

53题:
注意函数P中第一句“Static Sum”,Sum被声明为一个静态变量,函数P会记住该变量的值,而不是像一般变量那样每次都初始化,所以有:
P(1)=0+1=1----------Sum=1
P(2)=1+1+2=4--------Sum=4
P(3)=4+1+2+3=10-----Sum=10
P(4)=10+1+2+3+4=20--Sum=20
所以S=1+4+10+20=35

54题:解释一下PickMid函数应该就可以了
Private Function PickMid(xstr As String) As String
'xstr = "abcdef"
Dim tempstr As String, strlen As Integer
tempstr = ""
strlen = Len(xstr)
'strlen=6
i = 1
Do While i <= Len(xstr) - 3
'Len(xstr) - 3 = 3
tempstr = tempstr + Mid(xstr, i, 1) + Mid(xstr, strlen - i + 1, 1)
i = i + 1
Loop
'这个Do循环的作用是从xstr字符串中取左边第一个、右边第一个字符,然后再取左边第二个、右边第二个字符,
'然后再取左边第三个,右边第三个字符,至此Do循环结束,所以tempstr="afbecd"
PickMid = tempstr
End Function

57题:
Sub作为一个过程,它的语法是这样的:
[Private | Public | Friend] [Static] Sub name [(arglist)]
[statements]
[Exit Sub]
[statements]
End Sub

其中arglist 参数的语法是这样的:
[Optional] [ByVal | ByRef] [ParamArray] varname[( )] [As type] [= defaultvalue]

其中
ByVal 可选的。表示该参数按值传递。
ByRef 可选的。表示该参数按地址传递。ByRef 是 Visual Basic 的缺省选项。

所以,Proc1过程中的x、y、z三个参数是按地址传递的,也就是说,该过程会按照传递过来的变量的地址来直接调用该变量,而Proc1过程完成后,该过程所调用的变量的值可能已经被该过程改变,但变量不会随着该过程的结束而结束,因为这些变量是另一个正在运行的过程(就是调用Proc1过程的那个)所声明的。

那么:
x = 1: y = 2: z = 3
这是初始赋值
Call Proc1(x, x, z)
进入Proc1过程,
Proc1过程的参数x调用的是主过程的x=1
Proc1过程的参数y调用的是主过程的x=1
Proc1过程的参数z调用的是主过程的z=3
所以,在Proc1过程中有:
x=3*z=3*3=9(主过程的x=9)
y=2*z=2*3=6(主过程的x=6,Proc1过程的x也就是主过程的x,也=6)
z=x+y=6+6=12(主过程的z=12)
现在Proc1过程结束了,回到主过程
Print x; x; z
打印“ 6 6 12”

Call Proc1(x, y, y)
进入Proc1过程,
Proc1过程的参数x调用的是主过程的x=6
Proc1过程的参数y调用的是主过程的y=2
Proc1过程的参数z调用的是主过程的y=2
所以,在Proc1过程中有:
x=3*z=3*2=6(主过程的x=6)
y=2*z=2*2=4(主过程的y=4)
z=x+y=6+4=10(主过程的y=10,Proc1过程的z也就是主过程的y,也=10)
现在Proc1过程结束了,回到主过程
Print x; y; y
打印“ 6 10 10”

总之,注意变量的作用范围和传值的方式,不要被变量的名字所迷惑,实在不行也可以把Proc1过程中的变量都换个名字,注意换的时候一定不要漏了,要一一对应,然后就可以更清楚了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...flash学得好、将来会有什么用、求哥哥、姐姐们、帮帮忙 我即将初中毕业,想要读技校,但又不知选那科好`哥哥姐姐们帮个忙吧! 成绩不好,高中毕业想学电脑,哪位哥哥姐姐知道帮忙推荐下学校_百度知 ... 大学计算机3级 怎样学习啊 难吗 哥哥姐姐 帮帮忙吧 ...就业怎样?我报了这个专业,请各位哥哥姐姐帮帮忙 请IT业工作的哥哥姐姐帮忙出出主意~~ ...师傅让他沿着水缸边行走练功。有谁知道这个电影叫什么? 小伙穿越拜"小龙女"为师,与小龙女合练武功是什么电影 ...电影开头是一个赤膊的男主角在练功,然后再和队友们去做任务,结果一... ...一秒竟然穿越了醒来第一句话就是疼死宝宝了是什么电视剧? 重金帮我翻译一段英文简历,好的追加分 本科结业证书和本科毕业证书有什么不同,它们跟学位证有关系吗? 为什么很多i系列处理器的笔记本参数说“最大支持内存:4G”?(最大支持),不是说64位处理器最大支持16G内 可以用钱买积分么? 上海坐巴士用什么电子支付?是不是上车扫一次就行了?纸币和硬币也能用的吧? 从东莞到拉萨市的布达拉宫旅游,一个人来回的全部费用大约需要多少钱? 去布达拉宫旅游多少钱啊 门票 ?? 本人现在在武汉。打算和女朋友去布达拉宫旅游、是自己去,还是随旅行团去比较划算?大概要多少预算?安全吗 参观布达拉宫请导游要多少钱 我到拉萨办点事,顺便想去布达拉宫旅游,就参观布达拉宫差不多多少钱 去布达拉宫旅游要多少钱 布达拉宫旅游多少钱? 孩子喉咙里老有痰,谁有妙招去除。 宝宝喉咙里有痰,弄得宝宝睡不好觉,有什么方法去痰吗 宝宝喉咙有痰怎么去除小妙招 发微信红包把对方删了还能退回来吗 坐月子吃了点辣要紧吗 哺乳期吃辣椒,你觉得会不会影响到奶水? 做月子吃辣子会回奶吗 哺乳期吃菜有点辣,会回奶吗? 惠普HSTNN-I64C-4配置 去脂肪粒要多少钱?要做的好的 眼周脂肪粒去美容院挑大概多少钱? 眼睛周围的脂肪粒怎麼治疗,费用大概要多少 去除眼周的脂肪粒和扁平疣的激光手术需要多少钱 去除脂肪粒多少钱 典雅阁去除眼睛周边的脂肪粒怎么样?价格多少? 福州去脂肪粒需要多少钱?哪里好? 眼周脂肪粒 关于眼底脂肪粒的问题 眼周的脂肪粒怎么办? 华为手机,没装文件管理器,如何查看文件? 驾校的流程是什么? excel表格怎么改变底色花纹 excel 里面的单元格能变漂亮么?比如有花纹的格子形式 excel居然还可以这样操作,巧用对齐填充制作简易花边美化表格 卫生间渗漏不知长沙哪家防水公司好? 苏州卫生间漏水维修哪家好?闪电优家可行? 卫生间防水补漏公司哪家好 深圳防水补漏公司哪家好,可以做卫生间漏水。