【c语言】不要库函数自己实现字符串的复制
【c语言】不用库函数自己实现字符串的复制

// 字符串的复制 #include <stdio.h> //用数组下标实现 char * my_strcpy( char *dst,char *src) { int i = 0; while( *src != '\0') { dst[i++] = *src; src++; } dst[i] = '\0'; return dst; } int main() { char dst[] = "bvfhrhljdhfleahf"; char *src = "dandanwa"; my_strcpy( dst,src); printf("复制后的字符串是:%s\n",dst); return 0; } //用指针实现 #include <stdio.h> char * my_strcpy( char *dst,char *src) { char *ret = dst; while( *src != '\0') { *dst = *src; src++; dst++; } *dst = '\0'; return ret; } int main() { char dst[] = "bvfhrhljdhfleahf"; char *src = "dandanwa"; my_strcpy( dst,src); printf("复制后的字符串是:%s\n",dst); return 0; } //用指针实现,可以把功能函数里边的语句再进行优化缩减 #include <stdio.h> char * my_strcpy( char *dst,char *src) { char *ret = dst; while( *src != '\0') { *dst++ = *src++; } *dst = '\0'; return ret; } int main() { char dst[] = "bvfhrhljdhfleahf"; char *src = "dandanwa"; my_strcpy( dst,src); printf("复制后的字符串是:%s\n",dst); return 0; } //当然也可以把语句写在循环条件里,更简洁 #include <stdio.h> char * my_strcpy( char *dst,char *src) { char *ret = dst; while( *dst++ = *src++) { ; } *dst = '\0'; return ret; } int main() { char dst[] = "bvfhrhljdhfleahf"; char *src = "dandanwa"; my_strcpy( dst,src); printf("复制后的字符串是:%s\n",dst); return 0; } //为了让程序员调试起来更方便,可以加断言 //哪个量不可以改变的时候记得给前边加const #include <stdio.h> #include <assert.h> char * my_strcpy( char *dst,char const *src) { char *ret = dst; assert( ( dst != NULL ) && ( src != NULL ) ); while( *dst++ = *src++) { ; } *dst = '\0'; return ret; } int main() { char dst[] = "bvfhrhljdhfleahf"; char *src = "dandanwa"; my_strcpy( dst,src); printf("复制后的字符串是:%s\n",dst); return 0; }