比較 C 語言中的字元
Satishkumar Bharadwaj
2023年1月30日
2020年12月19日
本教程介紹瞭如何在 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