Fortran Coder

标题: 课本上的例子为什么编译出错呢? [打印本页]

作者: 何唯心    时间: 2015-12-25 15:45
标题: 课本上的例子为什么编译出错呢?
教材是彭国伦老师的《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.


作者: li913    时间: 2015-12-25 16:47
括号不对
[Fortran] 纯文本查看 复制代码
string(i:i)=char( ichar(string(i:i)) + key) 

作者: 何唯心    时间: 2015-12-25 16:56
li913 发表于 2015-12-25 16:47
括号不对

谢谢啊!看我,代码都看错了。




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2