#include<stdlib.h>
#include<string.h>
#include<assert.h>
char *my_strcpy(char* dest,const char * src)//const 修饰保证被复制的字符串不被改变
{
char* ret = dest;//保留dest的地址,方便返回
assert(dest != NULL);//增加断言,保证输出的字符首地址不是空的
assert(src != NULL);
while(*dest++ = *src++)//先解引用后加加,当 *src == '\0'时,这时*dest++ = *src++也为循环结束
{
}
return ret;//返回
}
int main()
{
char arr1[] = "abcdef";
char arr2[] = "bit";
printf("%s",my_strcpy(arr1,arr2));
system("pause");
}
需要注意的是:
这里的arr1 和 arr2绝对不可以像这样定义:char arr1 = ‘‘abcdef’’;char* arr2=’‘abc’’,注意这时的arr1和arr2是常量字符串,是不可以更改的。*