在单个语句中为多个变量赋值相同

时间:2014-05-14 12:27:37

标签: fortran fortran95

有没有一种方法可以为不同的变量分配相同的值,而无需在单个语句中构造数组?

例如,如果我有变量 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更改为其他内容, 我必须到处改变。

任何帮助?

4 个答案:

答案 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,那么显然只有一个地方可以更改其值。