Fortran Coder

查看: 7636|回复: 1
打印 上一主题 下一主题

[流程控制] Fortran DO 循环语法错误

[复制链接]

1

帖子

1

主题

0

精华

新人

F 币
25 元
贡献
11 点
跳转到指定楼层
楼主
发表于 2019-1-18 22:53:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
       do n = 1, num_train
         read(1,210) n,(train(n,i),i=1,num_in)
       end do
上述程序语句在编译过程当中,提示,语法错误如下:Error: Variable 'n' at (1) cannot be redefined inside loop beginning at (2)
请问,哪位有这方面的经验,上述程序如何修改,谢谢!

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

63

帖子

9

主题

0

精华

专家

超凡脱俗

F 币
474 元
贡献
237 点
沙发
发表于 2019-1-19 20:49:14 | 只看该作者
这逻辑上是有冲突的,首先n是循环变量,有指定的变化范围;然后循环体内,又要对n进行赋值。
你可以单独定义一个变量代替n
[Fortran] 纯文本查看 复制代码
integer :: newVar
do n = 1, num_train
         read(1,210) newVar,(train(newVar,i),i=1,num_in)
end do
天下英雄出我辈,一入江湖岁月催。

鸿图霸业谈笑间,不胜人生一场醉。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-11-23 22:05

Powered by Tencent X3.4

© 2013-2024 Tencent

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