有没有一种方法可以为不同的变量分配相同的值,而无需在单个语句中构造数组?
例如,如果我有变量 a,b,c,d 和 e ,我可以指定类似
的内容吗?a=b=c=d=e=10.0
我知道我可以一行:
a=10.0; b=10.0; c=10.0; d=10.0; e=10.0
但这不是我想要的,因为如果我想稍后将值10.0更改为其他内容, 我必须到处改变。
任何帮助?
答案 0 :(得分:4)
Fortran中无法使用第一个版本。根据(2008)标准,赋值具有一般形式(第7.2.1.1节)
variable = expr
但为什么不尝试类似的事情:
a=10.0; b=a; c=a; d=a; e=a
这样,您只需稍后更改a
的值即可!
答案 1 :(得分:2)
来吧Fortranners,你知道你想......
equivalence(a,b,c,d,e)
现在所有这些流氓总是会有相同的价值。
答案 2 :(得分:2)
您可能应该考虑使用数组而不是单个变量,特别是如果它们用于类似目的:
real :: myarray(5)
myarray(:) = 10.0
答案 3 :(得分:1)
也许:
real, parameter :: NamedConst = 10.0
a=NamedConst; b=NamedConst; c=NamedConst; d=NamedConst; e=NamedConst
然后,如果您应该在多行中使用特殊值NamedConst
,那么显然只有一个地方可以更改其值。