C에서 Char 비교

Satishkumar Bharadwaj 2023년10월12일
  1. 비교 연산자를 사용하여 C의 Char 비교
  2. C에서strcmp()함수를 사용하여 C에서 Char 비교
C에서 Char 비교

이 튜토리얼에서는 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

관련 문장 - C Char