我在下面编写代码,首先获得N个字符串数并连接n个字符串,并打印出来。我设置advance =“no”选项,但它转到换行符。 我在此网站(https://yukicoder.me/problems/no/597)
中运行此代码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
答案 0 :(得分:3)
str=trim(str)
无效,它会将修剪后的字符串放回str
并用空格填充(str
的长度保持为1000)。
与例如相反C. Fortran没有终止字符,但用空格填充字符串的其余部分。
在将字符串写入输出时,应该省略最后的空白:
write(*,'(a)',advance='no') trim(str)