函数和子例程有什么区别?有人告诉我函数和子程序之间的区别如下:
函数接受参数,在本地工作,不会改变任何值或使用其范围之外的任何值(高内聚)。它还返回一些值。子例程直接使用调用者或调用它的代码段的值,并且不返回值(低内聚性),即将某些代码分支到其他代码以便进行一些处理并返回。
这是真的吗?还是没有区别,只是用两个术语来表示一个?
最佳答案
我不同意。如果通过引用函数传递参数,则可以在函数范围之外修改该值。此外,函数不必返回值。考虑 C 中的 void some_func()
。因此 OP 中的前提无效。
在我看来,函数和子例程之间的区别是语义上的。也就是说有些语言使用不同的术语。
关于terminology - 函数和子程序有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6048344/