gpt4 book ai didi

fortran - 用变量的值初始化常量

转载 作者:行者123 更新时间:2023-12-03 18:11:26 25 4
gpt4 key购买 nike

program main
real, parameter :: a = 1
!real :: a
!a=1

res = func(a)
write(*,*) res

end program main

function func(a)
real, parameter :: b=a+1 !(*)
func = b
return
end function func

我的编译器在标有 (*) 的行提示。有没有办法用一个超出该函数的值来设置一个常量的值?

最佳答案

您不能将“b”声明为参数,因为它的值在编译时不是常量,因为它取决于函数参数。

使用“implicit none”是个好主意,这样您就可以确保声明所有变量。还将您的过程放入一个模块并“使用”该模块,以便调用者知道该接口(interface)。如:

module my_funcs
implicit none
contains

function func(a)
real :: func
real, intent (in) :: a
real :: b
b = a + 1
func = b
return
end function func

end module my_funcs

program main
use my_funcs
implicit none
real, parameter :: a = 1
real :: res

res = func(a)
write(*,*) res

end program main

关于fortran - 用变量的值初始化常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8872540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com