一、知识讲解
今天我们将要来研究一下字符串的大小关系。
一系列字符可以组成一个字符串,字符由单引号包裹,字符串由双引号包裹。
使用字符串类型需要引入对应的库。
声明字符串变量时需要用 string 类型进行声明。我们可以直接给字符串变量(对象)进行赋值。我们也可以逐个字符地进行访问。
我们知道字符有大小可以比较了。那么,字符串之间可以比较大小吗?
在 C 语言中,我们通常遵循的是一种特殊的定义——字典序(lexicographical order)。让我们来通过例子理解一下字典序:
对于字符串"abc"
和"bbc"
的大小关系——我们首先会对它们的第一个字符进行比较,我们发现第一个字符'a' < 'b'
时,我们就可以明确"abc" < "bbc"
的结论。
对于字符串"abc"
和"abd"
的大小关系——我们首先会对它们的第一个字符进行比较,如果第一个字符相同,则会接下来比较第二个字符;如果第二个字符相同,则会接下来比较第三个字符,当我们发现第三个字符'c' < 'd'
时,我们就得到了"abc" < "abd"
的结论。
对于字符串"abc"
和"ab"
的大小关系——我们首先会对它们的第一个字符进行比较,如果第一个字符相同,则会接下来比较第二个字符;如果第二个字符相同,则会接下来比较第三个字符,当我们发现"ab"
没有第三个字符时,我们就得到了"ab" < "abc"
的结论。
- 字典序遵循的是逐字符比较的方式,越靠左的字符越会被先比较。
- 逐字符比较过程中,一旦发现某一对被比较的字符之间不相等时,这一对字符的大小关系即为这一对字符串的大小关系。
- 逐字符比较过程中,一旦出现某一个字符串的所有字符都已经经过比较,而另一字符串还存在未被比较的字符时,较短的字符串更小。
- 如果所有字符串内的字符都被发现相等,则这两个字符串相等。
因此,我们也可以回答一开始的问题啦!字符串"China"
是大于"America"
的。
© 版权声明
THE END
- 最新
- 最热
只看作者