相信不少人面试的时候,会遇到面试官让你写出strcmp, strlen, strcpy,strcat等函数,下面给出比较完美的实现,自行把握里面一些关键的点,例如参数的判断,const参数,指针操作等等。
//strcpy函数: char *strcpy(char *strDest, const char *strSrc) { if (strDest == NULL || strSrc == NULL) return NULL; if (strDest == strSrc) return strDest; char *tmpStr = strDest; while( (*strDest++ = *strSrc++) != ‘\0’); *strDest = '/0'; return tmpStr; } //strlen函数: int strlen(const char *str) { int len = 0; if(str == NULL) { return 0; } while(*str++) { len++; } return len; } //strcat函数: char *strcat(char *strDest, const char *strScr) //将源字符串加const,表明其为输入参数 { char *tmpStr = strDest; if ((strDest != NULL) && (strScr != NULL)) { return NULL; } while(*strDest) { strDest++; } while(*strDest++ = *strScr++); return tmpStr; } //strcmp函数: int strcmp(const char *str1,const char *str2) { int len = 0; assert((str1 != '/0') && (str2 != '/0')); while(*str1 && *str2 && (*str1 == *str2)) { str1++; str2++; } return *str1-*str2; }
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-21 20:19:42