Fortran Coder

查看: 2271|回复: 5
打印 上一主题 下一主题

[流程控制] 为什么case语句中,没有的例子,值会很大?

[复制链接]

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
楼主
发表于 2022-5-26 15:24:19 | 显示全部楼层
因为变量 a, b 没有初始化,其值不确定。

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
沙发
发表于 2022-5-26 15:29:17 | 显示全部楼层
如果你的 isal , medium 可能的取值是连续的。可以尝试用数组表来代替 select
[Fortran] 纯文本查看 复制代码
program select
  integer :: medium = 1 , isal = 1
  real :: ew
  call DIEL_WAT(medium, isal, ew)
  write(*,*) ew, isal
end program select

subroutine DIEL_WAT(medium, isal, ew)
  Integer , parameter :: AList(0:*) = [0,20,40]
  Integer , parameter :: BList(0:*) = [0,1,2]
  iNTEGER medium,isal
  real ew
  ew = AList(isal)+BList(medium)
end subroutine DIEL_WAT
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-4 03:46

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表