2

我正在学习堆栈并听到太多称为“子例程”的词。我很困惑:究竟什么是“例程”和“子例程”?

假设我有一个程序:

def tav(x):
    if x==0:
       return 19
    else:
       u=1
       tav(x-1)
       u+=1
tav(4)

那么这个程序中的例程和子例程是什么?我在某处读过子程序没有返回任何内容,所以如果我正确地调用了称为子程序的主函数的内部,或者我们可以直接说子程序是子程序,所以在上面的程序子程序中应该是:

if x==0:
    return 19
else:
    u=1
    tav(x-1)
    u+=1

我做对了吗?

4

1 回答 1

3

例程和子例程是相同的。在 Fortran 等较旧的语言中,您必须区分子例程和函数。后者返回了一些东西,前者改变了一些状态。

于 2016-10-16T14:10:47.820 回答