2016-11-25 2 views
1
if (mod(n,2) == 0) then 
     write(stdout, *) "Even" 
    else 
     write(stdout, *) "Odd " 
    end if 

Я хочу напечатать Even Odd Even Odd. Почему я не могу использовать дескриптор $ для этого?Печать на этой же строке в Фортране

+0

Не используйте 'для кодовых блоков. Затем щелкните значок '{}' в окне редактирования. –

ответ

4

В коде нет дескриптора $!

Но нет, нет $ дескриптор в стандартном Fortran. Некоторые компиляторы имеют это расширение, а другие нет. Не используйте его, если вы хотите использовать переносные программы.

Стандарт Fortran 90, соответствующий способу, использует непередвигающийся O/O с advance='no'. Обратите внимание, что для этого требуется формат, а не вход в список.

write(stdout, some_format, advance='no') "Even" 

some_format может быть '(a)' или '(g0)' или что-то применимо.

Кроме того, для оговорки см. http://www.cs.rpi.edu/~szymansk/OOF90/bugs.html#3 (резюме: все еще может быть ограничение длины записи).

Смежные вопросы