我们如何在ALGOL中编写命令:printf("%d->%d", X, Y);
,其中X和Y是递归函数的参数。
我们是否必须写出类似:write "X -> Y";
?
或者我们可以写:write "%d -> %d, X, Y";
答案 0 :(得分:0)
这个问题可能比你想要的更具哲学性,因为Algol(60)不包含任何输入/输出 1 ,因此没有相应的printf。
Algol(60)中的函数调用与 C 中的函数调用相同:printf("%d->%d", X, Y);
然而,在Algol-68中,定义了一个标准的函数输入/输出库 - 它称之为transput。由于这些是多态的,因此参数列表将作为元素数组传递,因此:
print((whole(X),"->",whole(Y));
(但是你可以在维基百科上得到它)
[ 1 ] :(虽然大多数实现都将它添加为库函数!)