【问题标题】:What is wrong with array(2:)(::2) in fortran?fortran 中的 array(2:)(::2) 有什么问题?
【发布时间】:2019-06-21 12:53:40
【问题描述】:

我正在学习 Fortran08,不知道为什么我不能执行以下操作

integer :: array(8)
READ(*, *) array
array(2:)(::2)

,但以下工作正常

integer :: array(8)
integer :: temp(7)
READ(*, *) array
temp = array(2:)
temp(::2)

【问题讨论】:

  • 您希望array(2:)(::2) 是什么意思?你想达到什么目标?

标签: arrays fortran slice fortran2008


【解决方案1】:

答案很简单,但我不知道这是否有用。它根本不是合法的 Fortran 语法。

为什么会这样?因为标准是这样说的。为什么?因为委员会是这样设计的。为什么?您必须询问他们,但请注意可能与string array indexing 发生冲突。

Fortran 根本不使用连续的数组索引括号,这与 C 不同。Fortran 和 C 的数组语法在多个方面都非常不同。

array(2::2) 不能满足你的需要吗?

【讨论】:

  • 谢谢。我还在学习 fortran,我不知道我能做到 (2::2)。
猜你喜欢
  • 1970-01-01
  • 2018-12-17
  • 1970-01-01
  • 2019-03-12
  • 2022-01-15
  • 2010-10-27
  • 2020-01-12
相关资源
最近更新 更多