首页 > 解决方案 > 比较 Fortran 中的两个字符串

问题描述

根据字母顺序比较两个字符串的正确方法是什么abcbcd是否有内置命令可以这样做?或者会>.lt.做这项工作没有任何问题?

标签: stringfortranstring-comparisonfortran77

解决方案


内在关系运算符.lt.<(以及“等于”和“大于”朋友)确实可以用于比较字符变量。

我们看到定义(Fortran 2018, 10.1.5.5.1):

如果 x1 在此位置的字符值在整理序列中 x2 的值之前,则认为字符操作数 x1 小于 x2

其中比较是用不同的相应字符串中的第一个字符部分完成的。

例如,整理顺序告诉您是否'a''b'. 因此,如果'abc'与 比较,'bcd'则比较在'a'和之间'b'

如果要比较的两个字符串的长度不同,则进行比较时,就好像较短的字符串在右侧用空格(空格)填充以使其与较长的字符串长度相同。这意味着当比较'ab'and时,'abc'我们看'ab 'and 'abc''ab'<'abc'当且仅当' '<'c'


推荐阅读