编写如下通用过程: Sub proc(By Val num As Long,ByRef ren As Long) Dim k As Long K = 1 num=Abs(num) D

admin2009-02-13  15

问题 编写如下通用过程:
   Sub  proc(By  Val  num  As  Long,ByRef  ren  As  Long)
      Dim  k As  Long
      K = 1
      num=Abs(num)
      Do While  num
         k= k *(num Mod  10)
         num=num\ 10
      Loop
      ren=k
   End  Sub
   在窗体上画一个命令按钮,然后编写如下事件过程:
   Private  Sub  Command1  Click()
      Dim  n  As  Long, r  As  Long
      n=InputBox("请输入一个整数")
      n = CLng(n)
      proc n,r
      Print  r
   End Sub
   程序运行后,单击命令按钮,在输入对话框中输入345,输出结果是【  】。

选项

答案60

解析 过程proc有两个参数,其中第一个参数使用的是传值方式(带有关键字ByVal),第二个参数使用的是引用方式(带有关键字ByRef,可以省略)。该过程的功能是,通过取模(Mod)和整除(\)运算符求出一个整数的各位数字,将这些数字相乘,并将乘积赋给参数ren。在事件过程中,用InputBox函数输入一个数,然后调用过程proc,如果输入的数是345,则结果为3×4×5 =60。注意,调用语句“proc n,r”有两个实参,其中r用来存放过程的返回值。Function过程通常有一个返回值,Sub过程也可以有返回值,并且可以有多个返回值,这些返回值放在形参中。在这种情况下,存放返回值的形参必须使用传地址方式,否则得不到正确结果。
转载请注明原文地址:https://kaotiyun.com/show/js1p777K
0

最新回复(0)