我正在学习 Fortran 90/95,我正在使用的书讨论了行式打印机对格式声明的影响。根据书本,程序使用行的第一个字符来决定该行相对于上一行的位置(即'1'开始新页面,'0'跳过一行,'+'覆盖上一行,并且' ' 或任何其他字符在前一行下方写入新行)。我在控制台中编译并运行了一个简单的程序来测试它,但没有观察到这种行为。
program test
integer :: i = 123
character(13) :: hello = 'Hello, World!'
100 format ('0','Count = ',I3)
write (*,*) hello
write (*,100) i
end program
输出是
Hello, World!
0Count = 123
我本来期望的地方
Hello, World!
Count = 123
有人知道为什么吗?这是 Fortran 90/95 中未使用的遗留功能吗?它是打印到控制台的特定行为吗?我想知道何时(如果有的话)我需要在编写时在格式语句中声明一个特殊的第一个字符。
我的编译器是 Force 2.0.9,我相信它是基于 gfortran 的。我在 Windows 7 上运行它,控制台是 PowerShell。
谢谢您的帮助!