If statement “Fortran”;无法在(1)处赋值给命名常量;in-if语句
以下是我试图运行的内容:If statement “Fortran”;无法在(1)处赋值给命名常量;in-if语句,if-statement,fortran,If Statement,Fortran,以下是我试图运行的内容: if (z.le.zstart) then if (y.ge.((6.95*wg_y2)/5)).and.(y.le.((12.55*wg_y2)/5)) then indexmedia=nd end if end if 就上下文而言 zstart是常数y的任意行 wg_y2=5e-6 由于某种原因,它不喜欢(y.ge.((6.95*wg_y2)/5))位,因为(1)放在该位的末尾 我怀疑它不喜欢if语句中不是整数的任何东西,但我将6.95改为
if (z.le.zstart) then
if (y.ge.((6.95*wg_y2)/5)).and.(y.le.((12.55*wg_y2)/5)) then
indexmedia=nd
end if
end if
就上下文而言
zstart
是常数y
的任意行
wg_y2=5e-6
由于某种原因,它不喜欢(y.ge.((6.95*wg_y2)/5))
位,因为(1)放在该位的末尾
我怀疑它不喜欢if语句中不是整数的任何东西,但我将6.95改为7,12.55改为13,它仍然不喜欢它。也许它最终需要解析为一个整数
我需要这些参数来结束
6.95aa.f90:3:29:
if (y.ge.((6.95*wg_y2)/5)).and.(y.le.((12.55*wg_y2)/5)) then
1
Error: Cannot assign to a named constant at (1)
aa.f90:6:3:
end if
1
Error: Expecting END PROGRAM statement at (1)
这是因为该行中缺少一对圆括号:
如果(y.ge.((6.95*wg_y2)/5))和(y.le.((12.55*wg_y2)/5))那么
应该读哪个
如果((y.ge.((6.95*wg_y2)/5))和(y.le.((12.55*wg_y2)/5)),那么在编译代码时(不太好,因为我没有声明变量,但这不是问题所在,所以我放弃它以保持它的小):
其中一个错误是:
aa.f90:3:29:
if (y.ge.((6.95*wg_y2)/5)).and.(y.le.((12.55*wg_y2)/5)) then
1
Error: Cannot assign to a named constant at (1)
aa.f90:6:3:
end if
1
Error: Expecting END PROGRAM statement at (1)
这是因为该行中缺少一对圆括号:
如果(y.ge.((6.95*wg_y2)/5))和(y.le.((12.55*wg_y2)/5))那么
应该读哪个
if((y.ge.((6.95*wg_y2)/5))和(y.le.((12.55*wg_y2)/5)))则