考虑以下计划
$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
。但是这些常量F
和true
是什么,常量周围没有false
?
答案 0 :(得分:5)
正如albert所建议的,TRUE和FALSE在Fortran中没有内在含义 - 它们只是必须声明并赋值的普通标识符。有时,应用程序会使用一堆供应商提供的声明来使用模块,这些声明可能包含TRUE和FALSE的声明作为命名常量,尤其是在Windows平台上。
在您的示例中,隐式声明了TRUE和FALSE,未初始化的变量。由于它们未初始化,因此值未定义。某些实现可能会将未初始化的变量赋予零值,但大多数实现不会。最好不要将默认值设置为零,这样您就可以更早地了解编程错误。
当我们讨论LOGICAL值时,我会指向an old post of mine on the subject。