gpt4 book ai didi

fortran - 打印值而不换行

转载 作者:行者123 更新时间:2023-12-02 12:55:29 26 4
gpt4 key购买 nike

如何在不换行的情况下打印多个值?

PRINT *, "foo:", foo, ", bar:", bar, ", baz:", baz

显然,这可以通过WRITE( herethere )实现。如何在打印多个值时使用 PRINT 及其不同语法实现相同的效果?

最佳答案

write 语句提供了可选的 advance 说明符,但 print 没有。

可以在代码中的不同位置创建带有 advance="no" 的多个 write 语句,以便将多个项目打印到同一行。举个例子,在 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!"

! Example output:
loop #1 loop #2 loop #3
--OK, the loop is done!

请注意,advance 不能与列表定向输出一起使用(使用“*”来“打印任何内容”)。因此,我展示了一个示例格式说明符 fmt="(1x,a,i0)" ,它将为每个写入语句打印一个空格、一个字符串和一个整数。语言引用和/或编译器文档会派上用场。请参阅,here ,例如。

正如其他人所建议的,如果这是所需的行为,最好使用write。如果由于某种原因您仍然喜欢使用 print,那么您可能应该在打印之前将输出项组装到单个变量或变量列表中。

关于fortran - 打印值而不换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45984672/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com