Fortran自然对数误差

Jam*_*son 4 fortran logarithm fortran95

Fortran的新手(刚开始今天),自然对数出现问题:

PROGRAM log
IMPLICIT NONE
REAL :: x

PRINT *, "Enter a number:"
READ *, x

x = log (x)

PRINT *, "The natural log of x is:", x

END PROGRAM log
Run Code Online (Sandbox Code Playgroud)

编译器不断抛出错误:

x = log (x)
       1
Error: Symbol at (1) is not appropriate for an expression
Run Code Online (Sandbox Code Playgroud)

其他内在函数工作正常.我究竟做错了什么?

Jon*_*rsi 8

问题是你已经log用你的程序名称阴影(覆盖)符号的定义- 这通常是指标准库的数学函数 - 也是log.如果您将程序名称更改为,例如logtest:

PROGRAM logtest
...
END PROGRAM logtest
Run Code Online (Sandbox Code Playgroud)

你会发现该程序按预期工作.