实现字符串拷贝strcpy
方法一:
// 字符串拷贝函数的实现
#include<stdio.h>
#include<assert.h>
void my_strcpy(char *dest, char *src)//src表示source源,dest目标
{
assert(dest!=NULL);
assert(src);
char *ret = dest;
while (*dest++ = *src++)
{
;
}
return dest;
}
int main()
{
char arr[20];
char *p="change world!" ;
my_strcpy(arr, p);
printf("arr=%s\n",arr);
return 0;
}
方法二:防御性的编程
// 字符串拷贝函数的实现
#include<stdio.h>
#include<assert.h>
#define false 0
char my_strcpy(char *dest, char const *src)//src表示source源,dest目标
{
if (src == NULL)
{
assert(false);
return 0;
}
if (dest == NULL)
{
assert(false);
return 0;
}
char *ret = dest;
while ((*dest++ = *src++)!=‘\0‘)
{
;
}
return ret;
}
int main()
{
char arr[20];
char *p="change world!" ;
my_strcpy(arr, p);
printf("arr=%s\n",arr);
return 0;
}
结果:
arr=change world!
请按任意键继续. . .
本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1728077
原文地址:http://yaoyaolx.blog.51cto.com/10732111/1728077