Я изучаю Fortran90 после краткого введения в Fortran77 несколько лет назад.При печати целых чисел в Fortran вы должны указать, сколько пробелов вы хотите зарезервировать для печати целого числа.Рассмотрим эту программу ...
implicit none
integer :: i
i = 123
write(*, '(A, I3, A)') "'", i, "'" !3 spaces for output = no padding
write(*, '(A, I5, A)') "'", i, "'" !5 is too many, so output is padded
write(*, '(A, I2, A)') "'", i, "'" !2 is too few, so output is jibberish
write(*, '(A, I:, A)') "'", i, "'" !Default behavior
end program
..., которая генерирует следующий вывод.
'123'
' 123'
'**'
' 123'
Как мне выделить правильный объем пространства для целочисленной печати, когда я не знаюсколько цифр в целом числе?
Обновление : если ваш компилятор совместим с F95, вы можете использовать дескриптор редактирования I0
(т. е. поставить '(A, I0, A)'
для второго аргумента)функции write
в моем примере выше. Спасибо @janneb!