Эта строка
CHARACTER :: Str_1 = " For", Str_2 =" tran", z
объявляет 3 символьные переменные, каждая из которых имеет длину. Таким образом, вы получаете str1 == " "
, str2 == " "
и z
unset. Тогда эта строка
z = Str_1 // Str_2 // " -90"
интерпретируется как
z = " " // " " // " -90"
, но только первый символ, который является пробелом, попадает в z
. И это то, что вы видите, когда распечатываете, или, скорее, это то, чего вы не видите, это просто пробел.
Go вернитесь к своему уроку по Фортрану и узнайте о длине символов, возможно, начните с
CHARACTER(len=8) :: Str_1 = " For", Str_2 =" tran", z
Как прокомментировал VladimirF, изучите также функцию c intrinsi trim
для избавления от конечных пробелов в символьных переменных. Есть и другие полезные встроенные c строковые функции, достойные вашего исследования.