什么是TRUE和FALSE常量(没有Fortran中的周期('。'))?

时间:2017-09-17 11:25:22

标签: fortran gfortran

考虑以下计划

$query = mysqli_query($conn,$aplha);

此程序在program print*,.true.,.false. print*,true,false end program pgfortan中打印不同的值。

gfortran输出

pgfortran

T F 0.00000000 0.00000000 输出

gfortran

问题 - 逻辑常量T F 4.59135442E-41 5.87982594E-39 .true.正确显示为.false.T。但是这些常量Ftrue是什么,常量周围没有false

1 个答案:

答案 0 :(得分:5)

正如albert所建议的,TRUE和FALSE在Fortran中没有内在含义 - 它们只是必须声明并赋值的普通标识符。有时,应用程序会使用一堆供应商提供的声明来使用模块,这些声明可能包含TRUE和FALSE的声明作为命名常量,尤其是在Windows平台上。

在您的示例中,隐式声明了TRUE和FALSE,未初始化的变量。由于它们未初始化,因此值未定义。某些实现可能会将未初始化的变量赋予零值,但大多数实现不会。最好不要将默认值设置为零,这样您就可以更早地了解编程错误。

当我们讨论LOGICAL值时,我会指向an old post of mine on the subject