比較 C 語言中的字元

Satishkumar Bharadwaj 2023年1月30日 2020年12月19日
  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 smaller 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