怎么比较两个字符串大小?

如题所述

利用ASCII编码逐位按照顺序比较:第一位“T”相同,第二位“h”相同,第三位“a”<“e”,所以“That”小于“The”。

字符串之间的大小比较方法

如果比较字符串的大小,则比较的是字符的ASCII编码的大小。在比较时,设置一个计数器,从零开始,一直循环到最短的那个字符结束,一位一位进行比较。

1、如果字符串1的第n位的ASCII码值等于字符串2的第n位的ASCII码值,则继续比较下一位。

2、如果字符串1的第n位的ASCII码值大于字符串2的第n位的ASCII码值,则输出结果:1,表示字符串1>字符串2。

3、如果字符串1的第n位的ASCII码值小于字符串2的第n位的ASCII码值,则输出结果:-1,表示字符串1<字符串2。

4、如果每一位的ASCII码值都相等,而且长度相同,则输出结果:0,表示字符串1=字符串2。

5、如果字符串1是字符串2的前m位,例如abcd与abcdef比较,则字符串1<字符串2。原因是,到第5位时,字符串1的ASCII值是0,而字符串2的ASCII值为“e”,即十进制的101,当然是字符串2大。




扩展资料

字符串是一种非常重要的数据类型,但是C语言不存在显式的字符串类型,C语言中的字符串都以字符串常量的形式出现或存储在字符数组中。同时,C语言提供了一系列库函数来对操作字符串,这些库函数都包含在头文件string.h中。

字符串常量是不可被修改的,一般用一对双引号("")括起的一串字符来表示字符串常量,如:"Hello!"、"\aWarning!\a"、"123abc\n"、""

字符串常量可以为空,如""就是一个空的字符串常量,但是即使为空,还是存在一个终止符NUL的。(在C语言中,常用转义字符\0来表示NUL)

字符串常量与指针关系密切,因为字符串常量的值,实际上表示的是存储这些字符的内存空间的地址,更准确地说是字符串常量中第1个字符的地址,而不是这些字符本身。

因此,在C语言中是不能直接进行字符串赋值的(因为没有字符串类型嘛)。在C语言中,常通过声明一个指向char类型的指针并将其初始化为一个字符串常量的方式来访问一个字符串。

温馨提示:答案为网友推荐,仅供参考
相似回答