C에서 Char 비교
Satishkumar Bharadwaj
2023년10월12일
이 튜토리얼에서는 C에서 char을 비교하는 방법을 소개합니다. char 변수는 0에서 255까지의 8 비트 정수 값입니다. 여기서 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()
함수를 사용하여 C에서 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