//最初级的版本!#include 
#include 
#include 
void my_strcpy(char *dest, const char *src){ while (*src != '\0') { *dest = *src; dest++; src++; } *dest = *src;}int main(){ char arr[10]; const char *p = "abcdef"; my_strcpy(arr, p); printf("%s\n", arr); system("pause"); return 0;}//  缺点:1.没有判断dest,src指向的位置是否为空          2.程序冗长,逻辑不简练          3.dest做程序结束指向最后,没有什么意义!          4.无返回值,不利于链式访问函数。             //满分版#include 
#include 
#include 
char* my_strcpy(char *dest, const char *src){ assert(dest); //断言,只在debug环境下才能起作用,对程序员调试很有用哦 assert(src); char* ret = NULL; ret = dest; while (*ret++ = *src++) { ; } return dest;//设返回值有利于链式访问:例  strlen(strcpy(dest,stc));}int main(){ char arr[10]; const char *p = "abcdef"; char* ret = NULL; ret=my_strcpy(arr, p); printf("%s\n", ret); system("pause"); return 0;}