字符串及 strcpy几种写法

考查对基本功的掌握:
(1)字符串以'/0'结尾;
(2)对数组越界把握的敏感度;
(3)库函数strcpy的工作方式,如果编写一个标准strcpy函数的总分值为10,下面给出几个不同得分的答案:

2分
void strcpy( char *strDest, char *strSrc )
{
    while( (*strDest++ = * strSrc++) != '/0' );
}

4分
void strcpy( char *strDest, const char *strSrc ) 
//将源字符串加const,表明其为输入参数,加2分
{
    while( (*strDest++ = * strSrc++) != '/0' );
}

7分
void strcpy(char *strDest, const char *strSrc) 
{
   //对源地址和目的地址加非0断言,加3分
   assert( (strDest != NULL) && (strSrc != NULL) );
   while( (*strDest++ = * strSrc++) != '/0' );
}

10分
//为了实现链式操作,将目的地址返回,加3分!


char * strcpy( char *strDest, const char *strSrc ) 
{
   assert( (strDest 
!= NULL) && (strSrc != NULL) );
   
char *address = strDest; 
   
while( (*strDest++ = * strSrc++!= '/0' ); 
     
return address;

 

原文地址:https://www.cnblogs.com/xiao-wei-wei/p/3356069.html