我将一个整数设置为小于其最大值的值,但是收到的错误是它太大了.为什么是这样?这是一个示例程序.
program max_int
integer, parameter :: i32 = selected_int_kind(32)
integer(kind = i32) :: my_int
!The largest integer of this kind
print*, huge(my_int)
!This works
my_int = 100000
!This doesn't, and gives an error.
!my_int = 1000000000000
print*, my_int
end program
Run Code Online (Sandbox Code Playgroud)
您需要追加i32到1000000000000这样的:1000000000000_i32.gfortran抱怨说这个数字太大了.1000000000000是一个短整数,而不是超长整数.1000000000000_i32是一个超长整数.它没有抱怨变量,它抱怨常数.