请问,我在VB里自己定义了一个函数,函数的输入变量为一个,函数计算结果为三个输出变量,请问怎么返回函数值
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/10 14:02:23
请问,我在VB里自己定义了一个函数,函数的输入变量为一个,函数计算结果为三个输出变量,请问怎么返回函数值
不好意思,刚学,不是太懂.我现在函数大概是这样的f(a,b),其中a,b是我自己输入的数值,然后通过函数f(a,b)计算之后,可以得到c,d,e这三个数值.我现在要把这三个数值c,d,e都输出来.
不好意思,刚学,不是太懂.我现在函数大概是这样的f(a,b),其中a,b是我自己输入的数值,然后通过函数f(a,b)计算之后,可以得到c,d,e这三个数值.我现在要把这三个数值c,d,e都输出来.
修订一下
如果你的返回值固定是3个,你可以传进去3个空的变量,然后函数就把返回结果放到这3个变量里了,因为函数默认是按内存地址传递的,所以执行完函数,那3个变量就是结果了
给你一个范例,你这样定义函数,复制以下代码直接可以看结果.你也可以用F8逐步分析
'函数部分
Function f(a,b,c,d,e)
'.处理过程得到三个值
c = 1
d = 2
e = 3
End Function
'调用函数
Private Sub Form_Load()
'赋初值a=?b=?,
a = 12
b = 23
f a,b,c,d,e
'下面就可以利用返回的,c,d,e了,原因传进去的cde是空值,是按内存地址传递的,所以当函数计算以后返回的是计算好的内存地址,所以传回来的就是返回值了
MsgBox c
MsgBox d
MsgBox e
End Sub
再问: 谢谢。那我现在a和b是按数值传递进去的,c,d,e也要按数值传递出来怎么操作呢?
再答: 不明白你的意思,你没有用我的试验一下吗 你的意思你的c,d,e定义为int或者long了,还是什么意思 还你用的是ByVal这个参数的语法,这样就不行了,必须前面不加ByVal或者加上ByRef类似于 Function f(a, b, c, d, e) 不加ByRef 是 Visual Basic 的缺省选项。 或者 Function f(ByVal a, ByVal b, ByRef c, ByRef d, ByRef e) 也就是cde必须是按地址传递
再问: 不好意思,只是刚好需要才用到VB,以前没学过,所以基本上不懂。我现在是一个方程,比较复杂,而随时有需要查数据,所以才做一个小计算软件。 我的输入值是组分,a和b,方程计算后有三个数据,压力c、温度d和密度e。做成小软件那种,输入组分a和b,窗口上就输出c、d和e。函数定义是这样的。 Function f(Byval a, Byval b),在函数里计算后,得到c、d和e,想把这三个数据输出来呵呵
再答: '修正一下函数参数 Function f(ByVal a, ByVal b, ByRef c, ByRef d, ByRef e) '处理过程 '处理过程结束 '....处理过程得到三个值赋值给cde,我这里假定赋值1,2,3,你的应该是具体的了 c = 1 d = 2 e = 3 End Function Private Sub Command1_Click() '我这里用一个按钮事件处理函数调用 '赋初值a=? b=?,你的可能是用文本框赋值的,我这里只是一个示例 a = 12 b = 23 '这里调用函数,注意加上了后面的cde f a, b, c, d, e '下面就可以利用返回的,c,d,e了,原因传进去的cde是空值,是按内存地址传递的,所以当函数计算以后返回的是计算好的内存地址,所以传回来的就是返回值了 '这里的cde已经有数值了,我这里仅是用弹窗显示,你可以改为赋值给文本框, MsgBox c MsgBox d MsgBox e End Function '说的不能再清楚了,你还是不理解,那你可以Q我, 我的273047005然后把你的程序传给我,我给你写一下
如果你的返回值固定是3个,你可以传进去3个空的变量,然后函数就把返回结果放到这3个变量里了,因为函数默认是按内存地址传递的,所以执行完函数,那3个变量就是结果了
给你一个范例,你这样定义函数,复制以下代码直接可以看结果.你也可以用F8逐步分析
'函数部分
Function f(a,b,c,d,e)
'.处理过程得到三个值
c = 1
d = 2
e = 3
End Function
'调用函数
Private Sub Form_Load()
'赋初值a=?b=?,
a = 12
b = 23
f a,b,c,d,e
'下面就可以利用返回的,c,d,e了,原因传进去的cde是空值,是按内存地址传递的,所以当函数计算以后返回的是计算好的内存地址,所以传回来的就是返回值了
MsgBox c
MsgBox d
MsgBox e
End Sub
再问: 谢谢。那我现在a和b是按数值传递进去的,c,d,e也要按数值传递出来怎么操作呢?
再答: 不明白你的意思,你没有用我的试验一下吗 你的意思你的c,d,e定义为int或者long了,还是什么意思 还你用的是ByVal这个参数的语法,这样就不行了,必须前面不加ByVal或者加上ByRef类似于 Function f(a, b, c, d, e) 不加ByRef 是 Visual Basic 的缺省选项。 或者 Function f(ByVal a, ByVal b, ByRef c, ByRef d, ByRef e) 也就是cde必须是按地址传递
再问: 不好意思,只是刚好需要才用到VB,以前没学过,所以基本上不懂。我现在是一个方程,比较复杂,而随时有需要查数据,所以才做一个小计算软件。 我的输入值是组分,a和b,方程计算后有三个数据,压力c、温度d和密度e。做成小软件那种,输入组分a和b,窗口上就输出c、d和e。函数定义是这样的。 Function f(Byval a, Byval b),在函数里计算后,得到c、d和e,想把这三个数据输出来呵呵
再答: '修正一下函数参数 Function f(ByVal a, ByVal b, ByRef c, ByRef d, ByRef e) '处理过程 '处理过程结束 '....处理过程得到三个值赋值给cde,我这里假定赋值1,2,3,你的应该是具体的了 c = 1 d = 2 e = 3 End Function Private Sub Command1_Click() '我这里用一个按钮事件处理函数调用 '赋初值a=? b=?,你的可能是用文本框赋值的,我这里只是一个示例 a = 12 b = 23 '这里调用函数,注意加上了后面的cde f a, b, c, d, e '下面就可以利用返回的,c,d,e了,原因传进去的cde是空值,是按内存地址传递的,所以当函数计算以后返回的是计算好的内存地址,所以传回来的就是返回值了 '这里的cde已经有数值了,我这里仅是用弹窗显示,你可以改为赋值给文本框, MsgBox c MsgBox d MsgBox e End Function '说的不能再清楚了,你还是不理解,那你可以Q我, 我的273047005然后把你的程序传给我,我给你写一下
请问,我在VB里自己定义了一个函数,函数的输入变量为一个,函数计算结果为三个输出变量,请问怎么返回函数值
python,定义一个函数A,函数B有一个变量,函数调用时怎么在函数A里获取变量的值.可以用数据库是什么的
下面定义一个函数f(),编写完整的主函数,定义恰当的变量并调用函数f(),输出函数的返回值.
定义一个函数swap,功能为交换两个变量a和b的值,在主函数中输入2个数,调用该函数,输出交换后的数据.
Mathematica如何以函数为变量定义一个函数?
我定义了一个函数max(),我在这个函数里面在定义一个max变量,
编写一个Matlab函数文件,输入变量为一个n阶正定矩阵A,输出的结果为下三角矩阵L,满足A=LLT
在一个函数中定义了一个变量,如何在另一个函数使用这个变量
C语言中向一个函数传递一个数组,函数中定义一个指针变量,请问这个指针变量在for循环中要怎么使用?
MATLAB 函数的一个输入变量是另一个函数
C语言问题,定义一个表示日期的结构体变量(包括年月日),写一个函数,返回值为某天是当年的第几天
定义一个结构体变量,包括年月日,计算该日在本年中是第几天,尝试用函数及返回值的形式完成改程序