#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; }