Backend/C
문자열 비교를 위한 strcmp
petitCoding
2012. 4. 12. 10:29
1 : #include <stdio.h>
2 : #include <string.h>
3 : main(){
4 : char str1[80], str2[80];
5 : int x;
6 : while(1){
7 : printf("\n\nInput the first string, a blank to exit: ");
8 : gets(str1);
9 : if(strlen(str1) == 0)
10 : break;
11 : printf("\nInput the second string: ");
12 : gets(str2);
13 : x = strcmp(str1, str2);
14 : printf("\nstrcmp(%s, %s) returns %d\n", str1, str2, x);
15 : }
16 : return 0;
17 : }
문자열의 내용이 동일한지 알아보기 위해 두 문자열을 비교해야 한다. 문자열이 동일하지 않다면 하나의 문자열은 다른 것보다 '크거나' 혹은 '작다'. 이렇게 '크거나' '작은' 상태를 결정하는 기준은 각 문자의 아스키 코드 값이다. 문자의 경우에는 알파벳 순서에 따라 크기가 정해진다.
strcmp 함수의 원형은 다음과 같다.
int strcmp(char *str1, char *str2);
인수 str1과 str2는 비교할 문자열에 대한 포인터이다. 함수의 복귀값은 str1이 str2보다 작으면 -1, 같으면 0, 크면 1이다.
결과화면