三、不同传递方式对参数类型的要求
若参数按地址传递,则VB要求实参的数据类型与形参的数据类型完全一致;若参数按值传递,则实参数据类型不要求与形参完全一致,但是必须能够由VB默认转化。
四、解题应用
(一) 以江苏省计算机等级考试2001年春季的一道考题为例:
在应用程序中用“Private Function Fun(X As Integer, Y As Single)”定义了函数Fun. 调用函数Fun的过程中的变量I,J均定义为 Integer型,能正确引用函数Fun的是____
①Fun(I,J) ②Call Fun(I,3.65)
③Fun(3.14,234) ④Fun(“245”, “231.5”)
A.①③ B.②③④ C.①②③ D.①②③④
分析:
1. 根据判别流程图,对每个引用做如下判断:
对于①Fun(I,J),实参I与形参X匹配,由于形参X不是数组并且无ByVal修饰,而实参I为变量,不是值或表达式,因此该参数将按照地址传递;同理,可以推断实参J与形参Y也将按照地址传递。根据VB要求,按照地址传递的实参和形参数据类型必须完全一致,而根据题意,J为Integer,Y为Single,因此①不正确;对于②Call Fun(I,3.65),I与X按地址传递;而实参3.65为值,与形参Y匹配时,将按值传递,因此②正确;对于③Fun(3.14,234),虽然实参3.14对应的形参X为Integer,实参234对应的形参Y为Single,但由于它们都是按照值传递,因此3.14将转化为3,而234可以直接赋给Y,因此③正确;对于④Fun(“245”, “231.5”),由于实参“245”和“231.5”均为字符串值,因此其与对应形参X、
来源:中国IT认证实验室 点击:次
发布日期:2006-5-21 22:30:00