回 帖 发 新 帖 刷新版面

主题:在fortran编程时编译运行时和生成.exe文件之后运行过程不一致

在fortran编程时编译运行时和生成.exe文件之后运行结果不同,这是什么原因啊?请各位指点。我试了好几个程序都是这样的现象
下面是我据的一个例子
program main 
implicit none
integer i
integer strlen
integer,parameter::key=2
character(len=20)::string
do while(.true.)
 write(*,*)"我的名字:"
 read(*,*)string
 if(string=='123')then 
   strlen=len_trim(string)
     do i=1,strlen
       string(i:i)=char(ichar(string(i:i))+key)
     end do
     write(*,*)"密码是:",string 
     exit
 else 
   write(*,*)"对不起,请您重新输入"
 end if
 end do
stop 
end


在生成.exe文件之后,运行时我们如果输入错了他会有提示,可是如果输入对了直接程序就关闭了,这怎么处理啊

回复列表 (共6个回复)

沙发

对了就退出循环了,退出循环之后程序就stop了自然是关闭啦。。。

板凳


可是,没有生成.exe文件时,如果你输入对了的话还是会输出string 啊

3 楼

那是编译器帮你调出的运行窗口, 让你press any key to continue, 生成exe就没有这个东西直接运行结束关闭了.

如果想输出密码后停住可以在exit前加个read
...
read(*, *)
exit
...

4 楼

[quote]
可是,没有生成.exe文件时,如果你输入对了的话还是会输出string 啊
[/quote]
双击EXE执行的话,他显示的你还没看见程序已经结束了。

5 楼

看你怎么用了
如果在VS IDE里,F5和ctrl+F5是有区别的

6 楼


谢谢,明天去实验室看看行不行!!先谢啦

我来回复

您尚未登录,请登录后再回复。点此登录或注册