对于我的编程语言课程,我正在尝试使用按名称传递或通过值 - 结果传递的语言编写一些代码片段,最好是默认情况下,但任何支持其中任何一种的语言都可以。但是,我找不到支持其中任何一种语言的单一语言。有没有人知道使用值传递或通过名称传递的语言?最好是命令式语言。
答案 0 :(得分:3)
wikipedia article on evaluation strategy表明fortran支持按值调用结果。 algol 68支持按名称呼叫。
答案 1 :(得分:1)
我认为C宏是按名称传递的(当然不是 C语言本身)。我不知道我害怕任何传值的结果语言(说实话,我必须进行网络搜索才能找出它的含义!)。
答案 2 :(得分:1)
如果你将变量传递给fortran函数并在那里修改它,你也可以在调用程序中修改它:
伪码:
int j = 1
print j
addOne(j)
print j
会输出:
1
2
答案 3 :(得分:1)
我认为CLIPS专家系统语言将通过名称传递。
答案 4 :(得分:0)
Java和C都是按值传递的语言。
C显然是一种价值传递语言。
总是告诉Java“基元通过值传递,对象通过引用传递”。但由于java对象在任何时候都是引用,所以它实际上是一个引用值。
Java语言规范告诉我们: http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html#37472
答案 5 :(得分:0)
Algol支持按名称传递,因为您可以找到一些解释here
有人告诉我,Ada支持传值/结果,但尚未尝试过。