一道VB题目,求详解

 我来答
百度网友2ebe1e4f3
推荐于2016-07-10 · TA获得超过1.3万个赞
知道大有可为答主
回答量:9245
采纳率:52%
帮助的人:3257万
展开全部
Private Sub command1_Click()
Dim k As Integer, m As Integer, p As Integer
k = 4: m = 1
p = pc(k, m): Print p; '调用下面的pc函数并输出p的值
p = pc(k, m): Print p  '再次重复上面的操作
End Sub
Function pc(a As Integer, b As Integer)
Static m As Integer, i As Integer   '虽然定义 m 和 i 是静态变量,但是
m = 0: i = 2   '这里给它们重新赋了值,所以每次输出的结果都是两个 8 ,如果把此句注释了,则每次的结果都不一样
i = i + m + 1
m = i + a + b
pc = m  'm 的值作为此函数的返回值传给上面的变量 p
End Function

更多追问追答
追问
那两个8是怎么的来的?
追答
m = 0: i = 2     ' 这是两句
i = i + m + 1
m = i + a + b
这四句计算来的,由于每次调用该函数时,都执行了前面两句,也就是说,每次调用函数时的 m 都从0开始,i 都从2开始,再执行下面两句,i=i+m+1=2+0+1=3,m=i+a+b=3+4+1=8(式中 a 和 b 的值是主调函数传递过来的 k 和 m 的值),最后一句 pc=m=8,8 就被传回主调函数并输出了。每点击一次按钮,就执行了两次:
p = pc(k, m): Print p; '调用下面的pc函数并输出p的值
p = pc(k, m): Print p '再次重复上面的操作
所以,每次输出两个 8
上海华然企业咨询
2024-10-28 广告
在测试大模型时,可以提出这样一个刁钻问题来评估其综合理解与推理能力:“假设上海华然企业咨询有限公司正计划进入一个全新的国际市场,但目标市场的文化习俗、法律法规及商业环境均与我们熟知的截然不同。请在不直接参考任何外部数据的情况下,构想一套初步... 点击进入详情页
本回答由上海华然企业咨询提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式