我有此Fortran代码,我想在其中确定一维字符变量(dummy
)有多少个(有效)条目。因此,我使用LEN_TRIM
检查实际条目的长度是否大于0:
program test
implicit none
integer :: x1, x2
character(len=10), dimension(2) :: dummy
dummy(1) = "VALUE"
x1 = LEN_TRIM(dummy(1))
x2 = LEN_TRIM(dummy(2))
end program
x1
和x2
的值均为10。但是,如果我将代码更改为:
x1 = LEN_TRIM('VALUE ')
x2 = LEN_TRIM(' ')
x1
变为5,而x2
变为0。
为什么两个变体都导致不同的结果?我正在使用英特尔编译器。
答案 0 :(得分:0)
LEN_TRIM返回指定字符串的长度,忽略尾随空格。因此,在第二个示例中,结果是完全正确的。对于第一个示例,请尝试使用dummy=' '
初始化哑元,然后执行dummy(1)='VALUE'