1.strlen函数的实现
非递归实现
int Mystrlen(const char* str){
int count = 0;
while (*str != '\0'){
++count;
++str;
}
return count;
}
递归实现
int MystrlenDigui(const char* str){
if (*str == '\0'){
return 0;
}
else{
return MystrlenDigui(++str) + 1;
}
}
2.strcpy函数的实现
char* Mystrcpy(char* dest,const char* str){
assert(dest != NULL);
assert(str != NULL);
char* count = dest;
while (*str != '\0'){
*dest = *str;
++str;
}
return count;
}
3.strcat函数的实现
char* Mystrcat(char* dest,const char* str){
assert(dest != NULL);
assert(str != NULL);
char* count = dest;
while (*dest != '\0'){
++dest;
}
while (*str != '\0'){
*dest = *str;
++str;
++dest;
}
return count;
}
4.strcmp函数的实现
int Mystrcmp(const char* str1, const char* str2){
assert(*str1 != NULL);
assert(*str2 != NULL);
while(str1 != '\0'&& str2 != '\0'){
if (*str1 < *str2){
return -1;
}else if (*str1 > str2){
return 1;
}else{
++str1;
++str2;
}
}
if (*str1 < *str2){
return -1;
}else if (*str1>*str2){
return 1;
}
else{
return 0;
}
}