| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 865 人关注过本帖
标题:过程调用问题
取消只看楼主 加入收藏
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:6 
过程调用问题
Sub ab(ParamArray number())
    Dim max
    Dim min
    max = number(0)
    min = number(0)
    For Each x In number
        If max < x Then max = x
        If min > x Then min = x
    Next x
Print "最大数是:"; max; "最小数是:"; min
End Sub

Private Sub Form_Load()
Dim m(3)
For i = 0 To 2
    m(i) = Val(InputBox("请输入:"))
Next i
ab m()
End Sub
请问哪里错;
搜索更多相关主题的帖子: max number 
2011-04-06 18:46
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:0 
调用ab过程求最大数和最小数

qq7434391
2011-04-06 18:46
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:0 
以下是引用qq1023569223在2011-4-6 19:40:31的发言:

Private Sub Form_Load()
Dim m() '动态数组不能定义其大小,要么写成Dim m(3) As Integer
For i = 0 To 2
    m(i) = Val(InputBox("请输入:"))
Next i
Call ab m() '调用sub要用Call,你那个函数到底是什么参数啊!我看不懂,这里可能有错就自己改吧!
End Sub
我没定义动态数组啊,那不是指定大小为3了吗
调用sub那里没写错吧,Call可以省略的
我的本意是在主函数里输入3个整数然后通过调用ab函数求出最大和最小值

qq7434391
2011-04-06 19:56
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:0 
以下是引用qq1023569223在2011-4-6 20:35:15的发言:

定义数组后面又没有说明类型的,都是动态数组(不能定义其大小)吧,不信你再看书吧!至于call是否可以省略,看你怎么想的吧,我是没有听过!VB我不是太懂!
非动态数组的定义方法是: Dim ArrayName(Length) As Type.
Sub ab(number())
    Dim max
    Dim min
    max = number(0)
    min = number(0)
    For Each x In number
        If max < x Then max = x
        If min > x Then min = x
    Next x
Print "最大数是:"; max; "最小数是:"; min
End Sub

Private Sub Form_Load()
Dim m()
For i = 0 To 2
    m(i) = Val(InputBox("请输入:"))
Next i
Call ab(m())
End Sub
还是出错

qq7434391
2011-04-06 21:59
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:0 
怎样才对啊,出错啊,是哪错了

qq7434391
2011-04-07 00:30
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:0 
Sub ab(number())
    Dim max
    Dim min
    max = number(0)
    min = number(0)
    For Each x In number
        If max < x Then max = x
        If min > x Then min = x
    Next x
Print "最大数是:"; max; "最小数是:"; min
End Sub
Private Sub Form_Load()
Dim m(3) As Integer
For i = 0 To 2
    m(i) = InputBox("请输入:")
Next i
Call ab(m())
End Sub
图片附件: 游客没有浏览图片的权限,请 登录注册


qq7434391
2011-04-07 00:51
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:0 
其实ab m() 也可以调用 当去掉关键字Call
书上说的

qq7434391
2011-04-07 10:55
快速回复:过程调用问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017997 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved