我希望在英特尔Fortran的屏幕上输出一些数字,默认情况下,每当我向屏幕输出内容时,Fortran都会写一个新行。反正有没有避免这个?
以下是我的代码示例:
PROGRAM sample
integer :: ind
do ind = 1,20
write(*,*) ind
!Some other stuff here
end do
END PROGRAM
我尝试使用no-advance选项,但它不起作用:
PROGRAM sample
integer :: ind
do ind = 1,20
write(*,*,advance='no') ind
!Some other stuff here
end do
END PROGRAM
理想情况下我想要的是将以下内容输出到屏幕:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
全部在同一行。在fortran中有没有这样做的方法?
答案 0 :(得分:2)
这不适用于格式“*”(列表定向)。但是可以使用明确的格式:
program test
implicit none
integer :: ind
do ind = 1,20
write(*,'(1x,i0)',advance='no') ind
!Some other stuff here
end do
end program
结果:
[coul@localhost ~]$ gfortran test.f90
[coul@localhost ~]$ ./a.out
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20[coul@localhost ~]$