编写strcat函数
已知strcat函数的原型是char *strcat (char *strDest, const char *strSrc);
其中strDest 是目的字符串,strSrc 是源字符串。
(1)不调用C++/C 的字符串库函数,请编写函数 strcat。
(2)strcat能把strSrc 的内容连接到strDest,为什么还要char * 类型的返回值?
char *strcats(char *desc, const char *src) {
size_t desc_len = 0, src_len = 0;
while (desc[desc_len]) {
++desc_len;
}
while (src[src_len]) {
++src_len;
}
char *result = (char *) malloc(desc_len + src_len);
int index = 0;
for (int i = 0; i < desc_len; ++i, ++index) {
result[index] = desc[i];
}
for (int j = 0; j < src_len; ++j, ++index) {
result[index] = src[j];
}
return result;
}
char * __cdecl strcat (char * dst, const char * src) { char * cp = dst; while( *cp ) cp++; /* find end of dst */ while( *cp++ = *src++ ) ; /* Copy src to end of dst */ return( dst ); /* return dst */ }(2)方便赋值给其它变量