C언어/C언어 예제

[C언어 소스] 문자열 비교하는 함수 만들기

언제나휴일 2016. 4. 12. 18:46
반응형

[C언어 소스] 문자열 비교하는 함수 만들기


[C언어 소스] 문자열 비교하는 함수 만들기

10. 문자열 비교.c



//문자열 비교하는 함수 만들기

#include <stdio.h>

//사전식 비교: 사전에 앞에 나오는 단어가 작고 뒤에 나오는 단어가 크다고 판별

//차이가 없으면 0 반환

int mystrcmp(const char *str1, const char *str2);

int main(void)

{

    char names[5][20] =

    {

        "홍길동","강감찬","이순신","을지문덕","한석봉"

    };

    char name[20];

    int i = 0;

    int value;

 

    printf("검색할 이름 :");

    scanf_s("%s", name, sizeof(name));

 

    printf("사전식 비교: 사전에 앞에 나오는 단어가 작고 뒤에 나오는 단어가 크다고 판별\n");

    for (i = 0; i<5; i++)

    {

        value = mystrcmp(name, names[i]);

        if (value == 0)//차이가 없을 때

        {

            printf("인덱스 %d에서 %s를 찾았습니다. \n", i, name);

        }

        else

        {

            if (value>0)

            {

                printf("%s > %s \n", name, names[i]);

            }

            else

            {

                printf("%s < %s \n", name, names[i]);

            }

        }

    }

 

 

    return 0;

}

 

int mystrcmp(const char *str1, const char *str2)

{

    //str1이 가리키는 문자가 종료 문자나 str1 str2가 가리키는 문자가 다를 때까지 반복

    for (; *str1 && (*str1 == *str2); str1++, str2++);

    return *str1 - *str2;

}

반응형