Conor Gilbert Beillschmidt 2024-07-16 12:52 采纳率: 0%
浏览 5

如何在ubuntu里用gfortran编译遇上的疑似bug?

请问这是什么情况,问ai也说没毛病,但是一编译就显示搜索不到这个substring,用的gfortran编译的fortran

program main
character(len=20) string
character(len=20) substring
integer position
string = "have a good time."
substring = "good"
write(*,*) trim(string),new_line('a'), trim(substring)
write(*,*) index(string,substring)
position = index(string, substring)

  if (position == 0) then
    write(*,*) "Substring not found in string."
  else
    write(*,*) "Substring found at position:", position
  endif
end


```

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-07-16 12:52
    关注

    引自免费微信小程序:皆我百晓生

    看起来你在使用Fortran语言编写程序时遇到了问题。你的代码本身看起来没有明显的错误,应该可以正常运行。关于你在Ubuntu环境下使用gfortran编译器编译时遇到的问题,可能的原因包括:

    1. gfortran版本问题:请确认你的gfortran版本是否支持你的代码。在某些旧版本中可能存在bug。你可以通过命令行输入 gfortran --version 来查看你的gfortran版本。
    2. 环境问题:请确认你的编译环境是否设置正确。确认你的操作系统是支持gfortran的,并且你已经正确安装了gfortran。你也可以尝试在其他的linux环境下编译你的代码看看是否有问题。
    3. 编译命令问题:请确认你的编译命令是否正确。你可以尝试使用以下命令来编译你的代码:gfortran your_file.f90 -o output,其中your_file.f90是你的Fortran文件,output是生成的可执行文件。

    关于你提到的“搜索不到这个substring”的问题,你的代码逻辑是正确的,如果字符串"good"不存在于"have a good time."中,那么index(string,substring)函数应该返回0,然后你的程序会输出"Substring not found in string."。所以,如果你的程序输出这个信息,那就说明"good"这个子串确实没有在主字符串中找到。

    如果你仍然无法解决问题,我建议你提供更详细的错误信息,包括编译器输出的完整错误信息,这样我可以更准确地帮助你解决问题。你也可以尝试更新你的gfortran编译器或者更换其他的Fortran编译器看看问题是否仍然存在。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月16日