본문 바로가기
Language/C언어

C030_strcmp 함수 구현해서 사용하기

by OdOp 관리자 2023. 10. 25.
SMALL

strcmp는 입력받은 두개의 함수를 ascii코드 값으로 비교해서 첫 번째 인자가 더 크면 양수를 두 번째 인자가 더 크면 음수를 서로 같으면 0을 반환해 줍니다. 

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

int main()
{
    printf("%d\n", strcmp("abc", "ab"));  //1
    printf("%d\n", strcmp("abc", "abv"));  //-1
    printf("%d\n", strcmp("abc", "abc"));  //0
    return 0;
}

 

strcmp함수

int    OdOp_strcmp(char *s1, char *s2)
{
    unsigned char    c1;
    unsigned char    c2;

    c1 = *s1;
    c2 = *s2;
    while (c1 || c2)
    {
        if (c1 > c2)
            return (1);
        else if (c1 < c2)
            return (-1);
        c1 = *s1++;
        c2 = *s2++;
    }
    return (0);
}

s1와 s2 둘다 문자열이 끝나거나 다른 부분이 나올 때까지 while문을 진행하였습니다. 

LIST