程序将未修剪的字符值分发给子程序

时间:2017-01-14 12:42:32

标签: fortran gfortran

我创建了一个简单的程序,它定义了最大长度为20的字符串(字符)变量。 然后我指定一个短于20个字母的值。然后我使用TRIM(),ADJUSTR()和ADJUSTL(),同时将字符串提供给子程序,该子程序必须在屏幕上显示它。当子例程尝试再次使用这三个函数时,字符串将以其全长显示,并且尾随空格将替换为随机字符,如"#$ ** ^&"

program test
    implicit none
    character(20) string

    string='lala'
    call test_string(trim(adjustl(adjustr(string))))

end program


subroutine test_string(string)
    implicit none
    character(20) string

    write(*,*) trim(adjustl(adjustr(string)))

end subroutine

resulting output

0 个答案:

没有答案