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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include<stdlib.h> size_t strlen(const char *str) { //문자열 길이 출력 int a = 0; while (str[a] != '\0') { ++a; } return a; } int strcmp(const char *str1, const char *str2) { //문자가 서로 다른곳 까지의 아스키코드 합을 비교함 int i; for (i = 0; (str1[i] != NULL) || (str2[i] != NULL); i++) { if (str1[i] == str2[i]) continue; else if (str1[i] > str2[i]) { return 1; } else if (str1[i] < str2[i]) { return -1; } } return 0; } char * strcpy(char * destination, const char * source) { //문자열 복사 int i; for (i = 0; source[i] != NULL; i++) { destination[i] = source[i]; } destination[i] = '\0'; return destination; } int main() { int result[32]; int index = 0; char arr[32]; result[index++] = strcmp("asdf", "asdfg"); result[index++] = strcmp("asdf", "asdf"); result[index++] = strcmp("asdg", "asdf"); result[index++] = strcmp("asdf", "asdf"); result[index++] = strcmp("00", "0011"); result[index++] = strcmp("00", "100"); result[index++] = strcmp("00", " 00"); result[index++] = strcmp("0", " 0"); result[index++] = strcmp("0", "0 "); result[index++] = strcmp("0", "0"); result[index++] = strcmp(" ", " "); strcpy(arr, "asdf1234!@#$"); result[index++] = strcmp("asdf1234!@#$", arr); strcpy(arr, ""); result[index++] = strcmp("asdf1234!@#$", arr); result[index++] = strcmp("", arr); result[index++] = strlen(""); result[index++] = strlen(" "); result[index++] = strlen(" \t"); result[index++] = strlen(" \t\r\n\""); result[index++] = strlen("asdf"); result[index++] = strlen("asdf "); result[index++] = strlen(" asdf"); result[index++] = strlen(" asdf "); result[index++] = strlen(" asdf \t"); for (int i = 0; i < index; i++) { printf("%d : %d\n", i, result[i]); } system("pause"); /* Expected Result: 0 : -1 1 : 0 2 : 1 3 : 0 4 : -1 5 : -1 6 : 1 7 : 1 8 : -1 9 : 0 10 : 0 11 : 0 12 : 1 13 : 0 14 : 0 15 : 1 16 : 2 17 : 5 18 : 4 19 : 6 20 : 6 21 : 8 22 : 9 */ } | cs |
'@C언어 : Layer7' 카테고리의 다른 글
메모리 구조 (0) | 2018.05.12 |
---|---|
Codeup 100제 (0) | 2018.04.13 |
함수 문제풀이 (0) | 2018.04.09 |
수업 문제풀이 (0) | 2018.04.09 |
포인터 보고서 (0) | 2018.04.09 |