比較 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