题目描述
写⼀个函数my_strcpy,实现拷⻉字符串的功能,假设给定⼀个字符数组a,再给定⼀个字符数组b,将字符串a中的内容拷⻉到字符串b中,拷⻉内容包含字符串末尾的 \0 字符。
解法思路
使⽤ while 循环通过指针的⽅式逐⼀拷⻉源字符串中的每⼀个字符,直到遇到字符串结束标志 \0 ,然后将该标志也拷⻉到⽬标字符串中。注意,如果源字符串为空,该函数直接返回,不进⾏任何操作
解法代码
#include <stdio.h>
void my_strcpy(char* dest, const char* src)
{
//写法1
// 拷⻉源字符串的内容到⽬标字符串中
while (*src != '\0')
{
*dest = *src;
dest++;
src++;
}
// 拷⻉源字符串的结束标志
*dest = '\0';
/*写法2
while (*dest++ = *src++)
{
;
}
*/
}
int main()
{
char arr1[] = "hello word";
char arr2[20] = { 0 };
//将字符串arr1中的内容拷⻉到字符串arr2中
my_strcpy(arr2, arr1);
//打印字符串arr2
printf("%s\n", arr2);
return 0;
}
运行结果
hello word