模拟实现strcpy库函数的功能
#include<stdio.h>#include<assert.h>char* my_strcpy(char*dest,const char*src){char *ret = dest; //存储初始形参x的地址。assert(dest != NULL);//断言assert(src!= NULL);//断言,即如果传递的为空指针,则那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行/*while (*src!=' ') {*dest = *src;dest++;src++;}*dest = *src;*/while (*dest++ = *src++)//如果*y赋值则表达式不为0,为真继续执行,先执行后++,当*y的值为0时,' '的ASC||的也为0,则表达式为假,不继续执行,跳出循环。 {;}return ret;//返回目的地的地址,可以实现链式访问,且可以得到拷贝后的最终结果}int main(){char arr1[20] = "***********";char arr2[20] = "abcdefgh";/*my_strcpy(arr1, arr2);printf("%sn", arr1);*/printf("%sn", my_strcpy(arr1, arr2)); //可以直接链式访问,返回值被打印return 0;}结果 应该是arr1的值被复制为abcdefgh: