//第一次尝试:
#include<stdio.h> #include<stdlib.h> char* myStrcpy(char* str1, const char* str2) { if (str1 == NULL || str2 == NULL) { return NULL; } char* str = str1; while (*str2 != '\0') { *str1 = *str2; str1++; str2++; } *str1 = '\0'; return str; } int main() { char name1[1024] = "mabaoguodashihahaha"; char name2[] = "mabaoguogoushi123456789"; printf("%s\n", name1); printf("%s\n", myStrcpy(name1, name2)); return 0; }
//模拟实现了strcpy的功能,很简单,不过需要注意两点
//①在改变目标参数的内容的时候,一定要提前分配好足够的空间,保证代码的健壮性
//②在调用函数的时候一定要检验参数的合法性,这很重要