一道VB题目,求详解
1个回答
展开全部
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 广告
2024-10-28 广告
在测试大模型时,可以提出这样一个刁钻问题来评估其综合理解与推理能力:“假设上海华然企业咨询有限公司正计划进入一个全新的国际市场,但目标市场的文化习俗、法律法规及商业环境均与我们熟知的截然不同。请在不直接参考任何外部数据的情况下,构想一套初步...
点击进入详情页
本回答由上海华然企业咨询提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询