C++基础——字符串与数组

C++基础——字符串与数组

一、知识讲解

今天我们将要来研究一下字符串的大小关系。

一系列字符可以组成一个字符串,字符由单引号包裹,字符串由双引号包裹。

a502897f162e

使用字符串类型需要引入对应的库。

声明字符串变量时需要用 string 类型进行声明。我们可以直接给字符串变量(对象)进行赋值。我们也可以逐个字符地进行访问。

127285a53868

我们知道字符有大小可以比较了。那么,字符串之间可以比较大小吗?

在 C 语言中,我们通常遵循的是一种特殊的定义——字典序(lexicographical order)。让我们来通过例子理解一下字典序:

对于字符串"abc""bbc"的大小关系——我们首先会对它们的第一个字符进行比较,我们发现第一个字符'a' < 'b'时,我们就可以明确"abc" < "bbc"的结论。

对于字符串"abc""abd"的大小关系——我们首先会对它们的第一个字符进行比较,如果第一个字符相同,则会接下来比较第二个字符;如果第二个字符相同,则会接下来比较第三个字符,当我们发现第三个字符'c' < 'd'时,我们就得到了"abc" < "abd"的结论。

对于字符串"abc""ab"的大小关系——我们首先会对它们的第一个字符进行比较,如果第一个字符相同,则会接下来比较第二个字符;如果第二个字符相同,则会接下来比较第三个字符,当我们发现"ab"没有第三个字符时,我们就得到了"ab" < "abc"的结论。

  • 字典序遵循的是逐字符比较的方式,越靠左的字符越会被先比较。
  • 逐字符比较过程中,一旦发现某一对被比较的字符之间不相等时,这一对字符的大小关系即为这一对字符串的大小关系。
  • 逐字符比较过程中,一旦出现某一个字符串的所有字符都已经经过比较,而另一字符串还存在未被比较的字符时,较短的字符串更小。
  • 如果所有字符串内的字符都被发现相等,则这两个字符串相等。

因此,我们也可以回答一开始的问题啦!字符串"China"是大于"America"的。

4cca31ffdda6

© 版权声明
THE END
喜欢就支持一下吧
点赞12赞赏 分享
评论 共2条

请登录后发表评论