在C语言中,字符是一种特殊的数据类型,用于表示单个字符,比较字符的大小实际上是比较它们的ASCII码值,ASCII码值是一个整数,范围从0到127,其中0到31表示控制字符,如换行符、制表符等,32到126表示可打印字符,如字母、数字和标点符号等。
(图片来源网络,侵删)
要在C语言中比较字符的大小,可以使用关系运算符(如<
、>
、==
、!=
等)或者C语言提供的库函数strcmp()
,下面分别介绍这两种方法。
1、使用关系运算符比较字符
关系运算符可以直接用于比较两个字符的ASCII码值,要比较字符a
和字符b
的大小,可以写成:
if (a < b) { // a小于b时执行的代码 } else if (a > b) { // a大于b时执行的代码 } else { // a等于b时执行的代码 }
注意:当比较字符时,实际上是比较它们的ASCII码值,大写字母的ASCII码值小于小写字母的ASCII码值。'A' < 'a'
的结果是true
,如果要忽略大小写进行比较,可以先将字符转换为大写或小写,然后再进行比较。
if (toupper(a) < toupper(b)) { // a小于b时执行的代码 } else if (toupper(a) > toupper(b)) { // a大于b时执行的代码 } else { // a等于b时执行的代码 }
2、使用库函数strcmp()
比较字符串中的字符
strcmp()
函数用于比较两个字符串的大小,它的原型如下:
int strcmp(const char *s1, const char *s2);
该函数返回值为整数,如果s1 < s2
,则返回负数;如果s1 == s2
,则返回0;如果s1 > s2
,则返回正数,注意:字符串比较是从第一个字符开始逐个比较,直到遇到第一个不相等的字符或遇到字符串结束符(空字符’