Cygwin gfortran先读后写命令
我正在使用Cygwin gfortran先读后写命令,cygwin,fortran,gfortran,Cygwin,Fortran,Gfortran,我正在使用gfortran在Cygwin中执行一个f90脚本,当我使用/a执行(运行)输出时,它会留下一个空格,请求输入,而不打印提示(写入)命令 program circle real r, area write (*,*) 'Give radius r:' read (*,*) r area = 3.14159*r*r write (*,*) 'Area = ', area stop end 应该是这样的 $ ./a Give radius r: 1
gfortran
在Cygwin中执行一个f90脚本,当我使用/a
执行(运行)输出时,它会留下一个空格,请求输入,而不打印提示(写入)命令
program circle
real r, area
write (*,*) 'Give radius r:'
read (*,*) r
area = 3.14159*r*r
write (*,*) 'Area = ', area
stop
end
应该是这样的
$ ./a
Give radius r:
1
Area = 3.1415901
这里发生了什么?请帮忙 如果编译器支持Fortran 2003,则可以使用以下语句:
program circle
use, intrinsic :: iso_fortran_env, only: stdin=>input_unit, &
stdout=>output_unit, &
stderr=>error_unit
implicit none
real :: r, area
write (stdout,*) 'Give radius r:'
flush(stdout)
read (stdin,*) r
area = 3.14159*r*r
write (stdout,*) 'Area = ', area
end program
您需要提供您的Fortran代码,以便我们提供帮助。我的直接假设是,您必须在
写入或打印之前阅读。如果你想要更多的帮助,你必须实际做一些工作并发布你的代码。非常感谢。代码对我来说很好,在cygwin上使用gfortran4.8.2
program circle
use, intrinsic :: iso_fortran_env, only: stdin=>input_unit, &
stdout=>output_unit, &
stderr=>error_unit
implicit none
real :: r, area
write (stdout,*) 'Give radius r:'
flush(stdout)
read (stdin,*) r
area = 3.14159*r*r
write (stdout,*) 'Area = ', area
end program