一道VB题目

DimaAsInteger,bAsIntegerPrivateSubCommand1_Click()DimcAsIntegera=3:b=2:c=1Printfun(a,... Dim a As Integer, b As Integer
Private Sub Command1_Click()
Dim c As Integer
a = 3: b = 2: c = 1
Print fun(a, c)
Print a; b; c
Print fun(b, c)
End Sub
Private Function fun(k As Integer, n As Integer) As Single
fun = a + b + k / 2
a = a + b + n
b = a + k
k = b + a
End Function
问第一行,第二行,第三行,分别是多少?
答案是(1)6.5 (2)18 12 1 (3)36
怎么算的啊,我不会,特别是第二行和第三行的输出,怎么来的?谁能帮我详细解答一下啊
展开
 我来答
a773529106
2010-09-23 · TA获得超过298个赞
知道小有建树答主
回答量:331
采纳率:0%
帮助的人:295万
展开全部
Dim a As Integer, b As Integer '全局声明 a,b为数字类型
Private Sub Command1_Click() '按下按钮
Dim c As Integer '过程声明 c为数字类型
a = 3: b = 2: c = 1 '初赋值 a=3 b=2 c=1
Print fun(a, c) '使用Fun函数并输出Fun的值 :此时a=3 c=1
Print a; b; c '输出a ,b ,c 的值 'a=18 b=12 c=1
Print funa(b, c) '使用Funa函数并输出Funa的值
End Sub

Private Function fun(k As Integer, n As Integer) As Single
Rem 这一个函数 函数名(第一个值,第二个值)这个函数的返回类型 k=a=3,n=c=1
fun = a + b + k / 2 'fun=a+b+k/2 其中k=a=3 3+2+1.5=6.5 fun=6.5
a = a + b + n 'a=a+b+n 其中n=c=1 结果 3+2+1=6 a=6 因为a改变k=a=6
b = a + k 'b=a+k 其中k=a=6 结果 6+6=12 b=12
k = b + a 'k=b+a 结果 12+6=18 k=18 因为函数原因 a=k=18
End Function

Rem 因为要区别开来所以我新建另一函数来说明
Private Function funa(k As Integer, n As Integer) As Single
Rem 这一个函数 函数名(第一个值,第二个值)这个函数的返回类型 k=b=12,n=c=1
funa = a + b + k / 2 'funa=a+b+k/2 其中k=b=12 18+12+12/2=36 funa=36
a = a + b + n 'a=a+b+n 其中n=c=1 结果 18+12+1=31 a=31
b = a + k 'b=a+k 其中k=b=12 结果 31+12=43 b=43
k = b + a 'k=b+a 结果 43+31=74 k=74 因为函数原因 b=k=74
End Function

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式