strcmp 함수로 문자열 비교하기

  • 3 minutes to read

string.h 파일에 선언되어 있는 strcmp() 함수를 사용하면 두 개의 문자열을 비교할 수 있습니다. strcmp 함수 이름은 문자열 비교를 나타내는 string compare에서 유래되었습니다.

strcmp() 함수의 시그니처는 다음과 같습니다.

int strcmp(const char *_Str1, const char *_Str2);

다음과 같이 strcmp()를 사용하여 문자열1과 문자열2를 비교할 수 있습니다.

strcmp(문자열1, 문자열2)

strcmp() 함수의 반환값은 정수 타입으로 -1, 0, 1입니다. 반환값의 의미는 다음과 같습니다.

  • -1: 첫 번째 문자열이 작을 때
  • 0: 두 문자열이 같을 때
  • 1: 첫 번째 문자열이 클 때

예제: 문자열 비교하기

다음 코드를 작성하여 strcmp() 함수의 사용법을 익혀보세요.

이 예제에서는 strcmp() 함수를 사용하여 세 가지 다른 문자열 비교 케이스를 확인합니다.

코드: strcmp.c

#include <stdio.h>
#include <string.h>

int main(void)
{
    printf("AAA < BBB: %d\n", strcmp("AAA", "BBB")); // -1
    printf("AAA == AAA: %d\n", strcmp("AAA", "AAA")); // 0
    printf("ZZZ > AAA: %d\n", strcmp("ZZZ", "AAA")); // 1

    return 0;
}

출력 결과

AAA < BBB: -1
AAA == AAA: 0
ZZZ > AAA: 1
  1. 첫 번째 비교: strcmp("AAA", "BBB")

    이 경우, 첫 번째 문자열인 "AAA"는 두 번째 문자열인 "BBB"보다 사전순으로 앞에 있습니다. 따라서 strcmp() 함수는 -1을 반환하고 출력문은 "AAA < BBB: -1"을 출력합니다.

  2. 두 번째 비교: strcmp("AAA", "AAA")

    이 경우, 두 문자열이 완전히 같습니다. 따라서 strcmp() 함수는 0을 반환하고 출력문은 "AAA == AAA: 0"을 출력합니다.

  3. 세 번째 비교: strcmp("ZZZ", "AAA")

    이 경우, 첫 번째 문자열인 "ZZZ"는 두 번째 문자열인 "AAA"보다 사전순으로 뒤에 있습니다. 따라서 strcmp() 함수는 1을 반환하고 출력문은 "ZZZ > AAA: 1"을 출력합니다.

이 예제를 통해 strcmp() 함수를 사용하여 문자열을 비교하는 방법을 확인할 수 있습니다. 반환값에 따라 문자열의 크기를 판별할 수 있으며, 두 문자열이 같은지 여부를 확인할 수도 있습니다.

VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com