自己实现strcpy函数
1.小白写法(我刚开始就是这么写的doge)
#include<stdio.h>
void my_strcpy(char arr1[], char arr2[]) //用数组接收
{
int i = 0;
for(i=0;arr2[i] !=’\0’;i++)
{
arr1[i] = arr2[i];
}
arr1[i + 1] = ‘\0’; //使i的值与数组中所含元素个数一致,包括\0;
}
int main(void)
{
int i = 0;
char arr1[] =“aaaaaaaa”;
char arr2[] = “bbbb”;
my_strcpy(arr1, arr2);
int n = sizeof(arr1) / sizeof(arr1[0]) - 1; //计算数组的个数
for (i; i < n; i++)
{
printf("%c", arr1[i]);
}
return 0;
}
2.入门
#include<stdio.h>
void my_strcpy(char* a1, char* a2) //用地址接受
{
while (a2 != ‘\0’)
{
*a1++ = *a2++; //后置++
}
*a1 = *a2; //因为\0没给过去,这里补上
}