是没有输入/输出程序的函数吗?

时间:2014-12-18 14:56:10

标签: c++ c function terminology procedure

我阅读了很多关于functionprocedure之间差异的文章,但我有些疑问。

我们是否在术语中使用以下语句functionprocedure

void f() { return; }

有些文章说函数返回值但是过程没有。

其他一篇文章说,如果函数返回一个名为function的值,但如果它返回多个值,则调用procedure

6 个答案:

答案 0 :(得分:2)

在C和C ++的标准术语中,没有。它是一个函数,无论它是否返回任何东西,或者即使它没有返回。

在更一般的计算词汇表和其他编程语言的术语中,它可能被称为"过程"或者一个"子程序" (如果它没有返回值,也可能是其他一些术语。)

答案 1 :(得分:1)

过程是一个不返回结果的函数!

答案 2 :(得分:1)

C和C ++语言中没有程序这样的术语。所以相对于C和C ++语言,你的问题毫无意义。在任何其他语言中,术语程序的定义可以有所不同。

在C和C ++语句中

void f() { return; }

功能定义。

答案 3 :(得分:1)

正如Mike和Grzegorz所说,从C标准的观点来看,没有区别,但功能术语是按惯例使用的。

在其他编程语言(例如基础)中,通常使用区别,这取决于是否返回功能的值。

最后一点: C编程语言一书中(官方C编程语言书)来自Dennis Ritchie(C创作者)术语功能如果返回或不是值,则独立使用,这是该术语被模糊使用的原因之一。

答案 4 :(得分:0)

从C标准的角度来看,功能和程序(例如Pascal)或子程序(例如Fortran)之间没有区别。两种类型(即返回void和非 - void)都被简单地命名为函数。我相信C ++就是这样的。

答案 5 :(得分:0)

各种术语在各种不同语言中的含义相同。像结构化语言中使用的函数,如c,在java中使用的方法,在Scala中使用的过程,函数。

实际上,过程实际上是一个函数,但它不会返回任何内容,而在C中我们仍将它称为函数。