bcf*_*bcf 3 formatting fortran gfortran output
使用 gfortran 4.6。这段代码:
PROGRAM f1
IMPLICIT NONE
INTEGER :: i=1, j=3
WRITE(*,*) "integer i is ", i, ", and j is ", j, "."
END PROGRAM f1
Run Code Online (Sandbox Code Playgroud)
产生这个控制台输出,其中有太多空格:
integer i is 1 , and j is 3 .
Run Code Online (Sandbox Code Playgroud)
我是否可以设置一些设置,以便第一个标记(“整数”)之前没有空格,因此标记之间的空格只是一个空格?我知道一个解决方法是
WRITE(*,'(A,I1,A,I1,A)') "integer i is ", i, ", and j is ", j, "."
Run Code Online (Sandbox Code Playgroud)
但这似乎非常麻烦,每次我有一个 print 语句时都必须这样做 - 宁愿它更像 C++,在输出中显式写入任何空格。
即,列表定向 IOwrite (*, *)是为了方便起见。没有任何设置可以更改其行为。不同的编译器会产生不同的输出。相反,正如您所确定的,您可以使用格式化 IO。在这种情况下,您可以使用I0as 格式,它将产生所需的位数,而I1只会输出单位数整数。如果这些是将输出的最大值,那就可以了。
WRITE(*, '( "integer i is ", I0, ", and j is ", I0, "." )' ) i, j
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1990 次 |
| 最近记录: |