#include <stdio.h> #include <string.h> #include <assert.h> #include <stdlib.h> char *mystrcat ( char * dst, const char * src) { char * cp = dst; while ( *cp ) /* 不写成while(*cp++)的原因是cp可能为'\0'*/ ++cp; /* Find end of dst */ while ( *cp++ = *src++ ) ; /* Copy src to end of dst */ return ( dst ); } int main( int argc, char * argv[]) { char dst[] = " dest "; char *src = " src "; printf (" %s ", mystrcat(dst, src)); //为避免内存覆盖(src长度大于dst长度),通常将n设置为目标字符串长度。 return 0; }