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