Fortran Coder

查看: 11010|回复: 2
打印 上一主题 下一主题

[流程控制] 内层循环只计算了一次后面的到的结果都为0大佬些为什么啊

[复制链接]

2

帖子

2

主题

0

精华

入门

F 币
39 元
贡献
15 点
跳转到指定楼层
楼主
发表于 2021-1-26 18:06:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[Fortran] 纯文本查看 复制代码
REAL, ALLOCATABLE, DIMENSION(:,:) :: AVE_DENSI, VAR_DENSI
                DO ILLL = 0, TIME_STEP 
                        WRITE(2116,*) 'TIME = ', ILLL*DELT_T*dt
                        WRITE(2117,*) 'TIME = ', ILLL*DELT_T*dt 
                        DO ILL = 0, 20
                                WRITE(2116,*)        ILL, AVE_DENSI(ILLL, ILL)/NRMAX
                                WRITE(2117,*)        ILL, VAR_DENSI(ILLL, ILL)/NRMAX - 
     &                                                    (AVE_DENSI(ILLL, ILL)/NRMAX)**2
                        enddo
                enddo
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

213

帖子

2

主题

0

精华

宗师

F 币
2142 元
贡献
875 点

规矩勋章

沙发
发表于 2021-1-27 01:30:34 | 只看该作者
因为你没有赋值啊。所有的变量都没有赋值,你让这个程序做什么。

2033

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1642 元
贡献
709 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

板凳
发表于 2021-1-27 08:18:47 | 只看该作者
考虑到你的代码不完整,补充完整(但可能并不符合你的意图)后没有任何问题。

这类问题,可以通过单步断点调试排查。

http://debug.w.fcode.cn
[Fortran] 纯文本查看 复制代码
  REAL, ALLOCATABLE, DIMENSION(:,:) :: AVE_DENSI, VAR_DENSI
  integer :: time_step = 3 , NRMAX = 1
  allocate(AVE_DENSI(3,3), VAR_DENSI(3,3))
  AVE_DENSI = 1
  VAR_DENSI=1
  DO ILLL = 0, TIME_STEP
    WRITE(*,*) 'TIME = ', ILLL*DELT_T*dt
    WRITE(*,*) 'TIME = ', ILLL*DELT_T*dt
    DO ILL = 0, 3
      WRITE(*,*)        ILL, AVE_DENSI(ILLL, ILL)/NRMAX
      WRITE(*,*)        ILL, VAR_DENSI(ILLL, ILL)/NRMAX - &
        (AVE_DENSI(ILLL, ILL)/NRMAX)**2
    enddo
  enddo
  end program
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-12-26 10:51

Powered by Tencent X3.4

© 2013-2024 Tencent

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