strcmp 함수로 문자열 비교하기
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
첫 번째 비교:
strcmp("AAA", "BBB")
이 경우, 첫 번째 문자열인 "AAA"는 두 번째 문자열인 "BBB"보다 사전순으로 앞에 있습니다. 따라서
strcmp()
함수는-1
을 반환하고 출력문은 "AAA < BBB: -1"을 출력합니다.두 번째 비교:
strcmp("AAA", "AAA")
이 경우, 두 문자열이 완전히 같습니다. 따라서
strcmp()
함수는0
을 반환하고 출력문은 "AAA == AAA: 0"을 출력합니다.세 번째 비교:
strcmp("ZZZ", "AAA")
이 경우, 첫 번째 문자열인 "ZZZ"는 두 번째 문자열인 "AAA"보다 사전순으로 뒤에 있습니다. 따라서
strcmp()
함수는1
을 반환하고 출력문은 "ZZZ > AAA: 1"을 출력합니다.
이 예제를 통해 strcmp()
함수를 사용하여 문자열을 비교하는 방법을 확인할 수 있습니다. 반환값에 따라 문자열의 크기를 판별할 수 있으며, 두 문자열이 같은지 여부를 확인할 수도 있습니다.