strcpy,即string copy(字符串复制)的缩写。是C语言标准库中实现字符串拷贝的一个函数。
问:你会如何实现这个函数呢?(10分)
2分版本
//2分
void strcpy(char *strDest, char *strSrc)
{
while( (*strDest++ = *strSrc++) != '\0' );
}
4分版本
//4分
//将源字符串 strSrrc加const,表明其为常量输入参数,加2分
void strcpy(char *strDest, const char *strSrc)
{
while( (*strDest++ = *strSrc++) != '\0' );
}
7分版本
//7分
void strcpy(char *strDest, const char *strSrc)
{
//对源地址strSrc和目标地址strDest加非NULL(0)断言,加3分
assert( (strDest != NULL) && (strSrc != NULL) );
while( (*strDest++ = *strSrc++) != '\0' );
}
10分版本
//10分
//为了实现链式操作,将目的地址返回,加3分
char* strcpy(char *strDest, const char *strSrc)
{
assert( (strDest != NULL) && (strSrc != NULL) );
char *address = strDest;
while( (*strDest++ = *strSrc++) != '\0' );
retirm address;
}