首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Fortran中,设置advance="no",但获得换行符

在Fortran中,设置advance="no",但获得换行符
EN

Stack Overflow用户
提问于 2018-04-15 09:02:33
回答 1查看 541关注 0票数 2

我在下面编写代码,先获取N个字符串的数目,然后将n个字符串连接起来,然后打印出来。我设置了advance="no“选项,但它会转到换行符。我在这个站点上运行这段代码(https://yukicoder.me/problems/no/597)

代码语言:javascript
运行
复制
program main
    implicit none
    integer::i,j,k,n
    character(1000)::str,ans
    read*,n
    do i=1,n
        read(*,'(a)')str
        str=trim(str)
        write(*,'(a)',advance='no')str
    end do
    print*,""
end program
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-16 11:21:28

str=trim(str)没有任何效果,它会将修剪过的字符串放回str中,然后用空格填充( str的长度保持为1000)。与例如C. Fortran相反,Fortran没有终止字符,而是用空格填充字符串的其余部分。在将字符串写入输出时,应在末尾省略空格,如下所示:

代码语言:javascript
运行
复制
write(*,'(a)',advance='no') trim(str)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49840232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档