//1、不用库函数实现strlen(),返回的是不包含\0的长度int my_strlen(const char* str){ int count=0; while(*str != '\0') { count++; str++; } return count;}//2、不用库函数实现strcat()char* my_strcat(char *s1, const char *s2){ int s1len=my_strlen(s1); int s2len=my_strlen(s2); for (int i = s1len; i < s1len+s2len; i++) { s1[i]=s2[i-s1len]; } return s1;}//3、不用库函数实现strcpy()char* my_strcpy(char* src, char* des){ if(src==NULL || des == NULL) return NULL; for(;*src!='\0';src++) *des++ = *src; *des='\0'; return des;}//4、不用库函数实现strcmp()int my_strcmp(char const* p, char const* q){ assert((*p != NULL) && (*q != NULL)); while (*p==*q) { if (*p == '\0') { return 0; } p++; q++; } if(*p > *q) return 1; else return -1;}