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

#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);
}

__________
横线上怎么填?

慕雪6442864
浏览 1358回答 2
2回答

呼如林

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

慕姐8265434

你应该去看看一些拷贝函数的原型,其实from应该用const,在拷贝过程中,并不希望这个字符串被改变的。还有就是不应该用void类型,如果你的from大于to长度呢?通过返回可以知道错误原因。int copy_string(const char *from, char *to){if(from ==&nbsp;NULL&nbsp;|| 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;}
打开App,查看更多内容
随时随地看视频慕课网APP