术语 – 函数和子例程有什么区别?

函数和子程序有什么区别?我被告知功能和子程序的区别如下:

一个函数接受参数,在本地工作,并且不会改变任何值或者使用其范围之外的任何值(高凝聚力)。它也返回一些值。子程序直接与调用者的代码段或代码段的值一起工作,调用它的代码段并不返回值(低内聚),即将一些代码分支到某些其他代码以进行一些处理并返回。

这是真的?还是有没有区别,只用两个术语表示一个?

我不同意。如果通过引用将参数传递给函数,则可以在该函数范围之外修改该值。此外,函数不必返回值。考虑在C中void some_func()。因此OP中的处所无效。

在我看来,函数和子程序之间的区别是语义的。也就是说一些语言使用不同的术语。

http://stackoverflow.com/questions/6048344/what-is-the-difference-between-a-function-and-a-subroutine

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:术语 – 函数和子例程有什么区别?