VB中调用函数fun过程的问题

form1中用publicsubfun(xasinteger,yassingle)定义过程fun,在窗体form2的某事件过程中定义了变量I和J均为integer,若要在... form1中用public sub fun(x as integer,y as single)定义过程fun,在窗体form2的某事件过程中定义了变量I和J均为integer,若要在此过程中调用form1中的fun过程,下列语句正确的是
a.call fun(i,j) b.call form1.fun(i,j) c.funi,(j) d.form1.funi,(j)
做这个题目的思路和想法是什么,完全不明白。
这道题目的答案是D。。。
展开
 我来答
网海1书生
科技发烧友

2012-09-29 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26226

向TA提问 私信TA
展开全部
可能是你输入错误吧,答案d应该是
form1.fun i,(j) '(也就是fun和i之间是有个空格的)
这个最后的(j)是为了让j参与一次虚拟的四则运算(这里括号()是作为运算符来处理的),这样运算结果VB会自动根据fun过程的参数类型(即single)进行转换。如果不加(),则VB会提示你类型不符(因为j是Integer,不是Single)。
具有同样效果的处理方式还有:
form1.fun i,j+0
原理同样
其实标准的做法是要显式进行格式转换:
form1.fun i,CSng(j)
更多追问追答
追问
亲,我没有打空格,打了就是对的吗?那如果题目改成private sub fun(x as integer,y as single调用函数fun的过程定义了I,J和K三个integer型变量,A.Fun 3.14,J  B. call fun(i,365)  C .FUN (I),(J)  D.K=FUN("24","35"),为什么答案选B不可以调用呢,不是有call,有括号吗?其他几个为什么又都可以
追答
亲,我试了你说的答案B,是可以调用的哦。反倒是A不行哦,原理同上。

补充一下,我第一次回答b,是因为我没看到fun过程的最后一个参数类型是single,加上答案c和d中缺一个空格(这个可不是个小错误)。所以拜托你提问的时候一定要把代码交待清楚,代码中差一个字符结果就可能差十万八千里。
yangyingjun999
2012-09-29 · TA获得超过1230个赞
知道小有建树答主
回答量:782
采纳率:0%
帮助的人:404万
展开全部
你这里调用这个过程的方法有两个:
1 :Call fun(i,j)
2:fun i,j
所以选择正确答案是:a
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式