strcpy(arr1,arr2);表示将arr2中字符赋值给arr1
#include<stdio.h>
#include<assert.h>
//此处const char *arr2为常变量,表示不希望*arr2发生改变,而*arr1会发生改变故不用加const
char* my_strcpy(char *arr1, const char *arr2)//此处接收为ret,ret为char*类型故返回类型应为char *
{
assert(arr1 != NULL);//assert表示断言,判断arr1,arr2是否为空,若为空,则运行不通过;
assert(arr2 != NULL);
char* ret = arr1;
while (*arr1++ = *arr2++)//++优先级高于*(解引用)
{
;
}
return ret;
}
int main()
{
char arr1[] = "***********";
char arr2[] = "hello!";
printf("%s", my_strcpy(arr1, arr2));//打印字符串遇到'\0'则结束,故不继续打印****
return 0;
}