使用gfortran --version
== GNU Fortran(Homebrew GCC 8.2.0)8.2.0编译
当我编写以下测试代码时,我得到的函数MOD
和MODULO
给出相同的结果。但是,据我从多个来源了解,MOD
应该给出余数,MODULO
应该给出整数商。
program test
implicit none
print *, mod(17,3)
print *, mod(17.5,5.5)
print *, mod(17.5d0,5.5)
print *, mod(17.5,5.5d0)
print *, modulo(17,3)
print *, modulo(17.5,5.5)
print *, modulo(17.5d0,5.5)
print *, modulo(17.5,5.5d0)
end program test
打印出:
2
1.00000000
1.0000000000000000
1.0000000000000000
2
1.00000000
1.0000000000000000
1.0000000000000000
结果是所有余数,这是MOD
应该做的,但是对于MODULO
来说,它不应该打印出模数,在这种情况下,5
和那么三个3
的精度各不相同?