这样实现函数strcpy才能拿满分

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cx2479750196/article/details/81281528

以下给出的几种方案,在面试官看来,最后的答案才是完美的。
方案1:

void strcpy( char *strDest, char *strSrc )
{
  while( (*strDest++ = * strSrc++) != ‘\0’ );
}

方案2:将原串用const修饰,表示不可以被修改

void strcpy( char *strDest,  const char *strSrc )
{
  while( (*strDest++ = * strSrc++) != ‘\0’ );
}

方案3:对参数断言判断:

void strcpy( char *strDest, char *strSrc )
{
assert(strDest&&strSrc);
  while( (*strDest++ = * strSrc++) != ‘\0’ );
}

方案4:将目的地址返回,为后面其他工作铺垫

char*  strcpy( char *strDest, char *strSrc )
{
   assert(strDest&&strSrc);
   char* p=strDest;
  while( (*strDest++ = * strSrc++) != ‘\0’ );
  return p;
}
展开阅读全文

没有更多推荐了,返回首页