본문 바로가기
C언어/문자열

[C언어] 문자열을 비교하여 순서를 알려주는 함수 (strcmp)

by bigpicture 2022. 7. 22.
반응형

아래와 같은 두개의 문자열 배열이 있다고 합시다. 

char s1[30]="apple";
char s2[30]="bpple";


두 문자열의 사전 순서를 알고 싶습니다. 이런 경우 strcmp 함수를 사용하면 됩니다. strcmp 함수는 string.h 헤더를 include 해줘야 사용할 수 있습니다. 

strcmp 함수는 아래와 같은 형식으로 사용합니다. 

strcmp(s1,s2)


s1이 s2보다 사전에서 앞에 나올 경우 -1을, 뒤에 나올 경우 1을, 같을 경우 0을 반환합니다. apple이 bpple 보다 사전 순서로 앞이므로 -1이 반환될 것입니다. 주의할 점은 아스키코드를 비교하는 것이라는 것입니다. 대문자와 소문자 비교시 대문자가 소문자보다 순서상 앞에 있습니다. 

아래 코드를 통해 확인해봅시다. 

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

int main()
{
    char s1[30]="apple";
    char s2[30]="bpple";
    
    int res=strcmp(s1,s2);
    
    printf("%d",res);
    
}

 

반응형

댓글