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