24小时热门版块排行榜    

CyRhmU.jpeg
查看: 454  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

gxaaas

木虫 (正式写手)


[资源] 【求助】比较怪异的Fortran程序问题【已完结】已有1人参与

求教问题:print某个变量后程序的结果会有变化,具体print位置见下面程序
程序简化后如下:
CODE:
******************************************************
program main
...
use b, only : elec_a,elec_b
...
allocate(elec_a(n,m))
allocate(elec_b(n,m))
...
end
******************************************************
module b
real,allocatable :: elec_a(n,m),elec_b(n,m)
end
******************************************************
subroutine a
...
use b, only : elec_a,elec_b
...
real :: y(n,m),x(n,m),calxy(n,m)
y=elec_a
x=elec_b
call derive(n,m,y,x,calxy)
print *,'calxy',calxy  !加上这句后影响程序的输出结果:(:(
...
end
*******************************************************
subroutine derive(n,m,y0,x0,cal)
...
end
*******************************************************

[ Last edited by zyj8119 on 2010-12-14 at 04:19 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gxaaas

木虫 (正式写手)



余泽成(金币+1):谢谢分享经验! 2010-08-22 17:25:36
找到原因了,是因为矩阵相乘的时候没注意,一个用real,另一个用complex。
4楼2010-08-22 16:03:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 gxaaas 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复(可上传附件)
信息提示
请填处理意见