为什么我用trim会多删字符?
program name
implicit none
CHARACTER*80 :: s
read*,s
print*,trim(s)
end program name
我输入:he is
输出:he
但是如果不输入,直接定义s='he is'就没有问题,有没有大佬知道哪里有问题?
我明白了,输入应该是'he is',如果输入he is,空格键使得程序认为你这个字符串到e停止,感觉Fortran的字符串有点蠢 这个问题彭国伦的49页就说过了,建议做法时 read(*,"(A)")s 空格作为分隔符,这种情况貌似更多吧?
所谓“蠢”,其实只是和你的“期望”不符而已。但你的“期望”往往并不是最通用最常用的。
页:
[1]