为了账号安全,请及时绑定邮箱和手机立即绑定

用函数调用实现字符串拷贝,写出copy_string函数的完整定义?

用函数调用实现字符串拷贝,写出copy_string函数的完整定义?

慕雪6442864 2019-02-07 15:07:27
#include<stdio.h>void copy_string(char *from, char *to);main(){ char a[]="I am a teacher.";char b[]="You are a student.";printf("string_a=%s\n string_b=%s\n",a,b);copy_string(a,b);printf("\nstring_a=%s\nstring_b=%s\n",a,b);}__________横线上怎么填?
查看完整描述

2 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

void copy_string(char *from, char *to)
{
char* a = from;
char* b = to;
while(*a!= '\0')
{
*b = *a;
b++;
a++;
}

}

查看完整回答
反对 回复 2019-03-10
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

你应该去看看一些拷贝函数的原型,其实from应该用const,在拷贝过程中,并不希望这个字符串被改变的。
还有就是不应该用void类型,如果你的from大于to长度呢?通过返回可以知道错误原因。
int copy_string(const char *from, char *to)
{
if(from == NULL || to ==NULL)
return -1;
if (strlen(from) >= strlen(to))
return -2;
char* a = from;
char* b = to;
while(*a!= '\0')
{
*b++ = *a++;
}
*b = '\0';
return 0;
}


查看完整回答
反对 回复 2019-03-10
  • 2 回答
  • 0 关注
  • 1357 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信