比较 C 语言中的字符

Satishkumar Bharadwaj 2023年10月12日
  1. 在 C 语言中使用比较运算符比较字符 char
  2. 使用 C 语言中的 strcmp() 函数来比较 char 值
比较 C 语言中的字符

本教程介绍了如何在 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

相关文章 - C Char