1

问题在代码的注释中:

define f(x) {
print x^2
}
define g(x) {
print x+2
}
if(f(2)>g(1)) {
print "it works"
}
43         # Why 43 instead of the text "it works"?

a=f(2)
b=g(1)

if(a>b) {
print "it works"
}          
          # Why nothing?
4

1 回答 1

2

您的函数仅打印他们计算的内容。他们不返回结果。

因此,当您调用 f(2) 时,f 将打印 4,而当您调用 g(1) 时,g 将打印 3。

试试这种方式:

define f(x) {
    return x^2
}
define g(x) {
    return x+2
}
if(f(2)>g(1)) {
    print "it works"
}


a=f(2)
b=g(1)

if(a>b) {
    print "it works"
}
于 2009-08-28T09:48:10.310 回答