比较 C 语言中的字符
Satishkumar Bharadwaj
2023年10月12日
本教程介绍了如何在 C 语言中比较字符 char,char 变量是一个 8 位的整数值,从 0 到 255。这里,0
代表 C-null 字符,255 代表空符号。
在 C 语言中使用比较运算符比较字符 char
一个 char 变量有自己的 ASCII 值。所以根据 ASCII 值对字符进行比较。完整的程序如下。
#include <stdio.h>
int main(void) {
char firstCharValue = 'm';
char secondCharValue = 'n';
if (firstCharValue < secondCharValue)
printf("%c is smaller than %c.", firstCharValue, secondCharValue);
if (firstCharValue > secondCharValue)
printf("%c is greater than %c.", firstCharValue, secondCharValue);
if (firstCharValue == secondCharValue)
printf("%c is equal to %c.", firstCharValue, secondCharValue);
return 0;
}
输出:
m is smaller than n.
使用 C 语言中的 strcmp()
函数来比较 char 值
strcmp()
函数定义在 string
头文件中,用于逐个比较两个字符串的字符。
如果两个字符串的第一个字符相同,则比较两个字符串的下一个字符。它一直持续到两个字符串的对应字符不同或者达到一个空字符'/0'
为止。
strcmp()
函数的语法如下。
int strcmp(const char* firstStringValue, const char* secondStringValue);
- 如果两个字符串相等或相同,则返回
0
。 - 如果第一个未匹配字符的 ASCII 值大于第二个,则返回一个正整数。
- 如果第一个未匹配字符的 ASCII 值小于第二个,则返回一个负整数。
比较两个字符串的完整程序如下。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
char firstString = "b", secondString = "b", thirdString = "B";
int result;
result = strcmp(&firstString, &secondString);
printf("strcmp(firstString, secondString) = %d\n", result);
result = strcmp(&firstString, &thirdString);
printf("strcmp(firstString,thirdString) = %d\n", result);
return 0;
}
输出:
strcmp(firstString, secondString) = 0
strcmp(firstString, thirdString) = 1