Fortran Coder

查看: 6689|回复: 2
打印 上一主题 下一主题

[读物] 课本上的例子为什么编译出错呢?

[复制链接]

4

帖子

2

主题

0

精华

入门

F 币
43 元
贡献
23 点
跳转到指定楼层
楼主
发表于 2015-12-25 15:45:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
教材是彭国伦老师的《Fortran 95 程序设计》。编译器是IVF2011+vs2010。
程序是:
[Fortran] 纯文本查看 复制代码
program ex0612
implicit none
    integer i
    integer strlen
    integer,parameter :: key=2
    character(len=20) :: string

    write(*,*) "String:"
    read(*,*) string
    strlen = len_trim(string)

    do i=1,strlen
        string(i:i)=char( ichar(string(i:i) + key) )
    end do
    write(*,"('encoded:',A20)")string

stop
end  
最后编译的时候出错了,编译器提示是string(i:i)=char( ichar(string(i:i) + key) )这行代码出错了,以下是其详细的内容。
1>C:\Users\Administrator\Documents\Visual Studio 2010\Projects\Console1\Console1\ex0605.f90(13): error #6355: This binary operation is invalid for this data type.   [STRING]
1>C:\Users\Administrator\Documents\Visual Studio 2010\Projects\Console1\Console1\ex0605.f90(13): error #6549: An arithmetic or LOGICAL type is required in this context.

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

835

帖子

2

主题

0

精华

大宗师

F 币
3926 元
贡献
2334 点
沙发
发表于 2015-12-25 16:47:21 | 只看该作者
括号不对
[Fortran] 纯文本查看 复制代码
string(i:i)=char( ichar(string(i:i)) + key) 

4

帖子

2

主题

0

精华

入门

F 币
43 元
贡献
23 点
板凳
 楼主| 发表于 2015-12-25 16:56:23 | 只看该作者

谢谢啊!看我,代码都看错了。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-12-25 22:58

Powered by Tencent X3.4

© 2013-2024 Tencent

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