반응형
C언어 문자열 비교
1. Compare strings
2. strcmp()
strcmp 없이 - Compare strings
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
/* Compare strings */
#include <stdio.h>
#include <string.h>
// Compare two strings
// Return -1 or 0 or 1
int compare(char str1[], char str2[]) {
int i;
for (i = 0; str1[i] != '\0'; i++)
if (str1[i] != str2[i]) break;
int compare = str1[i] - str2[i];
if (compare == 0) compare = 0;
else if (compare < 0) compare = -1;
else compare = 1;
return compare;
}
// Test compare method
void testCompare() {
printf("compare v. strcmp\n");
printf("%6d v. %2d\n", compare("xy", "xyz"), strcmp("xy", "xyz"));
printf("%6d v. %2d\n", compare("xyz", "xy"), strcmp("xyz", "xy"));
printf("%6d v. %2d\n", compare("", "a"), strcmp("", "a"));
printf("%6d v. %2d\n", compare("a", ""), strcmp("a", ""));
printf("%6d v. %2d\n", compare("", ""), strcmp("", ""));
printf("%6d v. %2d\n", compare("apple", "orange"), strcmp("apple", "orange"));
printf("%6d v. %2d\n", compare("orange", "apple"), strcmp("orange", "apple"));
printf("%6d v. %2d\n", compare("apple", "apple"), strcmp("apple", "apple"));
}
int main() {
testCompare();
char str1[] = "xy";
char str2[] = "xy";
printf("%s & %s: %d\n", str1, str2, compare(str1, str2));
}
|
strcmp()
1 2 3 4 5 6 7 8 9 10 | /* Compare strings */ #include <stdio.h> #include <string.h> int main() { char str1[] = "xy"; char str2[] = "xy"; if (strcmp(str1, str2) == 0) printf("Same\n"); else printf("Different\n"); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | /* Compare strings */ #include <stdio.h> #include <string.h> int strCompare(char str1[], char str2[]) { return strcmp(str1, str2); } void print(int strcmp) { if (strcmp == 0) printf("Same\n"); else printf("Different\n"); } int main() { char str1[] = "xy"; char str2[] = "xy"; print(strCompare(str1, str2)); } |
반응형
'C 언어 > C언어 기초' 카테고리의 다른 글
[C언어 #31] 비만도 (BMI) 계산 (0) | 2020.06.28 |
---|---|
[C언어 #30] 문자열 합치기 / 이어 붙이기 (0) | 2020.06.28 |
[C언어 #28] 문자열 복사 (0) | 2020.06.28 |
[C언어 #27] 문자열 길이 구하기 (0) | 2020.06.27 |
[C언어 #26] 파일 실행시 문자열 입력 (0) | 2020.06.26 |