Fortran Coder

查看: 3362|回复: 4
打印 上一主题 下一主题

[流程控制] if then else 语句报错

[复制链接]

50

帖子

18

主题

0

精华

熟手

F 币
276 元
贡献
167 点
跳转到指定楼层
楼主
发表于 2022-4-8 14:56:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如下图,对数组进行赋值的过程当中,为什么该程序会报错呢
[Fortran] 纯文本查看 复制代码
program  conjgf
    implicit none
    real(8) a(6,6)
    integer i1, i2
    do i1 = 1,6
        do i2 = 1,6
            if (i1=i2) then
                a(i1,i2) = 0.0d0
            else
                a(i1,i2) = i1+i2
            end if
    enddo
enddo
    print*,a
    read(*,*)
end program  conjgf

应该如何修改呢

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

168

帖子

2

主题

1

精华

大师

Vim

F 币
1021 元
贡献
486 点

规矩勋章

沙发
发表于 2022-4-8 17:06:45 | 只看该作者
i1==i2,判断相等

50

帖子

18

主题

0

精华

熟手

F 币
276 元
贡献
167 点
板凳
 楼主| 发表于 2022-4-8 17:29:41 | 只看该作者

好的好的,大意了

81

帖子

0

主题

0

精华

专家

F 币
471 元
贡献
232 点

规矩勋章新人勋章元老勋章

QQ
地板
发表于 2022-4-9 08:27:50 | 只看该作者
Fortran 是个矢量化的语言,所以它应该比C代码简洁一些。

[Fortran] 纯文本查看 复制代码
program conjgf
  implicit none
  real(8) a(6,6)
  integer i1, i2
  Forall(i1=1:6,i2=1:6) a(i1,i2)=merge(0,i1+i2,i1==i2)
  write(*,'(*(6f7.2,/))') a
  read(*,*)
end program conjgf
彼岸,有永恒的守候...

50

帖子

18

主题

0

精华

熟手

F 币
276 元
贡献
167 点
5#
 楼主| 发表于 2022-4-9 20:09:34 | 只看该作者
青衣巷 发表于 2022-4-9 08:27
Fortran 是个矢量化的语言,所以它应该比C代码简洁一些。

[mw_shl_code=fortran,true]program conjgf

受教了!感谢!
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-12-24 20:57

Powered by Tencent X3.4

© 2013-2024 Tencent

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