#include<stdio.h> #include <assert.h>  void myStrcpy(char* Dest, const char *Src) {     assert((Dest!= NULL)&&(Src!=NULL));     while((*Dest = *Src)!='\0')     {         Dest++;         Src++;     } }  int main() {     char dest[] = "helloworld";//注意     char* src = "hello";     myStrcpy(dest, src);     printf("%s",dest);     return 0; }

注意:在第15行中,我们用的是字符数组,因为如果用字符指针的话,字符常量存放在常量区,指针会指向这个地址,不能通过修改指针指向内容修改字符串。如果用字符数组的话,会把“helloworld“内容复制到数组中去,可以被修改。

strcpy函数原型:

char *strcpy(char *Dest , const char *Src) { 	assert((Dest != NULL) && (Src != NULL)); 	char *address = Dest; 	while((*Dest++ = *Src++) != '\0') 		NULL; 	return address; }