两者之间的区别函数有返回值,而过程(即子程序)没有返回值
函数只有一种调用格式:函数名(参数),而且必须要有接收函数返回值的变量
过程有两种调用格式:
1.过程名+空格+参数
2.CALL 过程名(参数)
都可以被调用
都能带有参数
但是函数不但能被调用,还有一个返回值,能返回计算的结果
而过程则不能
比如:
sub f1(a as long, b as long)
end sub
function f2(a as long, b as long) as long
end function
可以这么调用
f1 a, b
f2 a, b
call f1(a, b)
call f2(a, b)
x=f2(a, b)
但是不能这样用
x=f1(a, b)
楼主说的貌似有些问题
函数有返回值,而过程(即子程序)没有返回值
函数只有一种调用格式:函数名(参数),而且必须要有接收函数返回值的变量
过程有两种调用格式:
1.过程名+空格+参数
2.CALL 过程名(参数)
所以楼主所说的ABC() 如果该语句不只是这些,如a=ABC(str),MsgBox ABC(str),这样是可以的,否则只有一个ABC() 是错误的
函数是function abc()
可以有返回值,例如function abc(参数) as integer 返回一个整数
过程是sub abc()
无返回值
子过程没有返回值,函数有
不 函数可以有返回值的