Fortran Coder

查看: 8160|回复: 3
打印 上一主题 下一主题

[输入输出] 为什么我用trim会多删字符?

[复制链接]

2

帖子

1

主题

0

精华

新人

F 币
18 元
贡献
11 点
跳转到指定楼层
楼主
发表于 2021-6-9 16:56:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[Fortran] 纯文本查看 复制代码
program name
    implicit none
    CHARACTER*80 :: s
    read*,s
    print*,trim(s)
end program name

我输入:he is
输出:he
但是如果不输入,直接定义s='he is'就没有问题,有没有大佬知道哪里有问题?
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

2

帖子

1

主题

0

精华

新人

F 币
18 元
贡献
11 点
沙发
 楼主| 发表于 2021-6-9 18:17:50 | 只看该作者
我明白了,输入应该是'he is',如果输入he is,空格键使得程序认为你这个字符串到e停止,感觉Fortran的字符串有点蠢

167

帖子

2

主题

1

精华

大师

Vim

F 币
1012 元
贡献
484 点

规矩勋章

板凳
发表于 2021-6-9 18:53:23 | 只看该作者
这个问题彭国伦的49页就说过了,建议做法时 read(*,"(A)")s

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
地板
发表于 2021-6-10 13:12:49 | 只看该作者
空格作为分隔符,这种情况貌似更多吧?

所谓“蠢”,其实只是和你的“期望”不符而已。但你的“期望”往往并不是最通用最常用的。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-11-23 19:52

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表