分配的格式说明符
在 Fortran 95 之前,可以使用指定的格式进行输入或输出。考虑
integer i, fmt
read *, i
assign 100 to fmt
if (i<100000) assign 200 to fmt
print fmt, i
100 format ("This is a big number", I10)
200 format ("This is a small number", I6)
end
assign
语句为整数变量分配语句标签。此整数变量稍后用作 print
语句中的格式说明符。
在 Fortran 95 中删除了这种格式说明符赋值。相反,更现代的代码可以使用其他形式的执行流控制
integer i
read *, i
if (i<100000) then
print 100, i
else
print 200, i
end if
100 format ("This is a big number", I10)
200 format ("This is a small number", I6)
end
或者字符变量可以用作格式说明符
character(29), target::big_fmt='("This is a big number", I10)'
character(30), target::small_fmt='("This is a small number", I6)'
character(:), pointer::fmt
integer i
read *, i
fmt=>big_fmt
if (i<100000) fmt=>small_fmt
print fmt, i
end