该write语句提供了一个可选的advance说明符,但print没有提供。
为了将多个项目打印到同一行write,advance="no"可以在代码的不同位置使用多个语句。举个例子,在do循环中使用它:
do i=1,3
write(*, fmt="(1x,a,i0)", advance="no") "loop #", i
end do
write(*,*) ! Assumes default "advance='yes'".
write(*,*) "--OK, the loop is done!"
Run Code Online (Sandbox Code Playgroud)
! Example output:
loop #1 loop #2 loop #3
--OK, the loop is done!
Run Code Online (Sandbox Code Playgroud)
请注意,advance它不能与列表定向输出一起使用(使用“ *”来“打印任何内容”)。因此,我展示了一个示例格式说明符fmt="(1x,a,i0)",它将为每个write语句打印一个空格,一个字符串和一个整数。语言参考和/或您的编译器文档非常有用。例如,请参见此处。
正如其他人所建议的那样,如果这是理想的行为,则最好使用write。如果由于某些原因您仍然喜欢使用print,那么您可能应该在输出之前将输出项目组合成单个变量或变量列表。
| 归档时间: |
|
| 查看次数: |
6052 次 |
| 最近记录: |