一般早期的方法是使用 pause 语句,它以暂停为“借口”延缓程序的结束,例如:
1 |
Program www_fcode_cn |
2 |
Implicit None |
3 |
write ( * , * ) 'hello,www.fcode.cn' |
4 |
pause |
5 |
stop |
6 |
End Program www_fcode_cn |
请注意,第5行的stop并不是必须的,我们也不建议在程序最后使用stop。但是如果你使用了,pause 需要添加在 stop 前面。
由于 Fortran95 语法去除了 pause 语句。所以更标准的方法是使用一个空白输入语句。它以等待用户输入为“借口”延缓程序的结束。用它来替代 pause
1 |
Program www_fcode_cn |
2 |
Implicit None |
3 |
write ( * , * ) 'hello,www.fcode.cn' |
4 |
read ( * , * ) |
5 |
stop |
6 |
End Program www_fcode_cn |
不止 Fortran 的 console 程序存在这个问题,其他语言书写的 console 程序也存在这个问题。例如很多 C 程序员喜欢在程序最后增加一句 getchar(); 也是出于同样的理由和方法二的思路。
最后,console 程序一闪而过的问题,还可能是由于出现了运行时错误,程序异常而退出了。
因为方法二是倚靠在程序结束前延缓结束,对于中途异常退出,就不管用了。
此时,需要用方法一来查看运行时错误的具体错误提示。然后根据错误来修改代码,直到程序可以正常结束为止。
加入交流群
请使用微信扫一扫!