HYK 发表于 2022-3-8 21:21:41

修改软件代码出错

科研需要,得修改软件代码,但是刚学几天Fortran,实在是不知道怎么改。

vvt 发表于 2022-3-9 08:20:25

图片中能看到的第一个错误
(可能之前还有错误,但图片中没有显示,如果是这样,你需要从编译的第一个错误开始修改)

unclassifiable statement 语句不合适,需结合代码判断。

a=1 b=2 c=3 不能这样写,需加上回车,或分号间隔:a=1; b=2; c=3......

HYK 发表于 2022-3-9 12:41:15

感谢您的帮助,这是我的代码,和出现的错误,您能再帮我看看吗
C:\Users\HYK\Desktop\1.png
C:\Users\HYK\Desktop\2.png

HYK 发表于 2022-3-9 12:45:53

HYK 发表于 2022-3-9 12:41
感谢您的帮助,这是我的代码,和出现的错误,您能再帮我看看吗

所有的错误都是Unclassifiable statement at (1) 并且都是energy那两行的错误

fcode 发表于 2022-3-10 08:36:22

write(1,"(12e20.10)") energy(list(ll),1) ; rate_scatt(1,ll)
改成逗号
write(1,"(12e20.10)") energy(list(ll),1) , rate_scatt(1,ll)

HYK 发表于 2022-3-10 15:46:41

谢谢您,但是之前是逗号不行我才改成分号的,还有什么别的原因吗

风平老涡 发表于 2022-3-11 13:16:30

一个语句分成多行需要续行符(&),分号改逗号。
         write(1,"(12e20.10)")&
energy(list(ll),1), rate_scatt(1,ll),。。。 &
energy(list(ll),4), rate_scatt(4,ll),。。。

HYK 发表于 2022-3-12 14:41:35

太感谢您了,编译成功了,但是又出了问题{:4_117:}

风平老涡 发表于 2022-3-12 22:44:39

用断点跟踪法去找出错的地方,俗称 debug。可以用debug软件,比如gb或valgrind找出错的地方。也可以在源程序中的不同部位插入print语句,编译并运行,逐步找到程序停止的地方。

HYK 发表于 2022-3-13 17:03:53

好的谢谢您,我在学习valgrind了
页: [1]
查看完整版本: 修改软件代码出错