<span style="font-size:32px;color:#009900;">代码:</span>
#include<stdio.h> char *my_strcpy(char *dest,const char *src) { char *ret = dest;//保存数组的首地址,下面的操作会改变dest的值 while((*dest = *src) != '\0')//将src数组的内容全部赋给dest,包括'\0',当'\0'拷贝过去之后拷贝完成即函数结束 { src++; dest++; } return ret; } int main() { char a[20] = "acdefghiji"; char b[] = "edfssss"; printf("%s\n",my_strcpy(a,b)); return 0; }
mystrcpy也可以改的更加简洁:see:
char *my_strcpy2(char *dest,const char *src) { char *ret = dest; while((*(dest++) = *(src++)) != '\0'); return ret; }
缺点:多执行了一步后置++,虽然对函数功能无影响,不太好理解
优点:代码简洁
时间: 2024-10-01 05:22:48