vb程序阅读题,求详解

vb程序阅读题,求详解,第1张

输出24

先来理解函数 f(m)

f(m)首先定义赋值b=1,那么每一次调用函数f,b都会被初始化为1

static c,定义静态变量c,每一次调用f,c的值都会被保留为上一次的赋值。

然后b被重新赋值为b+1,也就是2了,根据上面的解释,无论调用几次函数f,b+1永远都是2

然后c被重新赋值为c+1,根据上面解释,第一次调用f,c=0+1,第二次调用,c=1+1,第三次c=2+1……

函数f的结果,就是m*2*c。

函数f解释完成。

下面看主程序

主程序指明了i = 1 到 3,循环3次,每次都调用函数f(2)

f(2)第一次=m*2*c=2*2*1=4

f(2)第二次=m*2*c=2*2*2=8

f(2)第三次=m*2*c=2*2*3=12

那么

第一次sum=0+4=4

第二次sum= 4+ 8 = 12

第三次sum=12+12=24

所以结果就是24

'一、

Function Cala(x As Integer, ByVal y As Integer) 'x是按址传递,y是按值传递

  x = x + y

   If x > 0 Then

     Cala = x

  Else

     Cala = y

  End If

End Function

Private Sub Command1_Click()

   Dim m As Integer, n As Integer

   m = 18

   n = -8

   Text1.Text = Cala(m, n) 'm执行前为18,执行后m=10,n不变仍然为-8

   Text2.Text = Cala(m, n) '执行前m=10,n=-8,执行后,m为2,n为-8,cala返回2

End Sub

‘二

Private Sub Command1_Click()

   Dim m As Integer, a As Integer

   For a = 1 To 10

      If a Mod 4 <> 0 Then’1到10里,只有a为4和8时,a mod 4=0

          m = m + a \ 4

      End If

   Next a

   Print m

End Sub

1\4=0  2\4=0  3\4=0  5\4=1  6\4=1  7\4=1  9\4=2  10\4=2

0+0+0+1+1+1+2+2=7


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7766747.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存