怎么理解Sub和Function之间的不同?

来源:百度知道 编辑:UC知道 时间:2024/06/18 23:12:32
能给我写段代码表示其中的不同吗?
返回值是什么意思
我现在感觉用Function写的东西用Sub同样能写 没感觉其中的不同 也没理解返回值什么意思

Sub可以理解为执行一个过程,一个操作,(举例:我拍了下桌子)Function在执行完过程后,还要返回一个结果(举例:我拍了下桌子,结果:我手拍红了,疼的。)

语法是这样的
Sub SubName(参数1, 参数2,...)
....
End Sub

Function FunctionName(参数1, 参数2,...)
...
FunctionName = 返回值
End Function
调用时:
sub 只能用:
SubName 参数1, 参数2,...
函数则:
变量=FunctionName (参数1, 参数2,...)
FunctionName 参数1, 参数2,...
上面的回答均未讲出根本:
SUB与FUNCTION均可有返回值。所以首先要讲清返回方式:有两种,过程或函数返回,即分配与过程或函数同名的返回变量地址。function分配,但sub不分配。VB用此方式加以区分,VC则用VOID声明不用分配。即如p=aa()若aa()是sub则什么也得不到,还会报错。但函数则会得到数值。其次,参数返回,VB中缺省用地址传参,即能返回。但声明为BYVAL即值传参,则不可返回,所以,不存在灵活性的差别。比如函数function bb(a,b), 调用时可以bb m, n也可以p=bb(m,n). 实际,如果确认不会失败,才能用SUB,否则,必须要用FUNCTION以确认是否成功或取得返回值。所以编程,应少用SUB,少用 SubName 参数1, 参数2,...的调用方式。
function可以当做是公式试用

Sub:过程; Function:函数,可以带返回值
语法:
Sub SubName(参数1,