Linux系統下C語言練習:指標實現mystrcmp、mystrlen,mystrcmpmystrlen
Linux系統下C語言練習:指標實現mystrcmp、mystrlen
#include#includechar *mystrcmp(char *str, char *str1){while(*(str++) - *(str1++) == 0 && *str != '\0' && *str != '\0');char *p1 = "第一個數小於第二個數";char *p2 = "第一個數大於第二個數";char *p3 = "第一個數等於第二個數";str--;str1--;if((*str - *str1) == 0 && (*(str + 1) =='\0') && (*(str1 + 1) != '\0')){return p1;}if((*str - *str1) == 0 && (*(str1 + 1) =='\0') && (*(str + 1) != '\0')){return p2;}if((*str - *str1) == 0 && (*(str1 + 1) =='\0') && (*(str + 1) == '\0')){return p3;}if(*str - *str1 < 0){return p1;}if(*str - *str1 > 0){return p2;}}int mystrlen(char *p){int count = 0;while(*p++ !='\0') count++;return count;}int main(){printf("請輸入兩串字元\n");char *str = (char *)malloc(sizeof(char) * 20);char *str1 = (char *)malloc(sizeof(char) * 20);if(NULL == str || NULL == str1){printf("error\n");exit(1);}scanf("%s%s", str, str1);printf("第一個字串長度為:%d\n", mystrlen(str));printf("第二個字串長度為:%d\n", mystrlen(str1));printf("%s\t%s\n", str,str1);printf("%s\n", mystrcmp(str, str1));free(str);free(str1);return 0;}