C語言:利用指針和函數調用編寫字符串拷貝函數strcpy
#include<stdio.h>
#include<assert.h>/*查找函數的頭文件*/
char *my_strcpy(char *dest,const char *src)
/*傳參,把src依次傳給dest,指針數組,每一個都是地址*/
{
char *ret=dest;/*接收的為地址*/
assert(dest!=NULL);
assert(src!=NULL);
/*兩處使用指針,使用指針一定要先用查找函數判斷是否為空,防止不小心將空地址傳遞*/
while( * dest++ = * src++)
{
;
}
return ret;/*返回的ret為字符串則用char,且為地址*/
}
int main()
{
char *p="Hello world!";
char arr[20];
/*考慮用指針p原因在此,數組相當於一個地址,
完成strcpy相當於把兩者的地址交換*/
char *ret=my_strcpy(arr,p);
/*把p的地址給數組*/
printf("%s",ret);/*打印出的為字符串*/
return 0;
}