已知strcpy的函数原型:char *strcpy(char *strDest, const char *strSrc),其中strDest 是目的字符串,strSrc 是源字符串。不调用C++/C 的字符串库函数,请编写函数 strcpy。
1 #include <cassert> 2 3 char* strcpy(char* strDest, const char* strSrc) 4 { 5 assert(strDest && strSrc); // 2分 6 char* cp = strDest; // 2分 7 while (*cp++ = *strSrc++) // 2分 8 ; 9 return strDest; // 2分 10 }
答:为了 实现链式表达式。 // 2分
例如 int length = strlen( strcpy( strDest, “hello world”) );
另外strlen函数如下:
1 int strlen(const char* str) 2 { 3 assert(str); 4 int len = 0; 5 while (*str++) 6 { 7 len++; 8 } 9 return len; 10 }
strcat函数实现:
1 char* strcat(char* strDest, const char* strSrc) 2 { 3 assert(strDest && strSrc); 4 char* pd = strDest; 5 while (*pd++) ; 6 while (*pd++ = *strSrc++) ; 7 return strDest; 8 }