题目:已知strcpy的函数原型为:
char *strcpy(char *strDest,char *strSrc);
不能调用c/c++的字符串处理函数。
实现代码如下:
char *strcpy(char *strDest,char *strSrc){
//判断strDest不为空,为空则返回
if(strDest==NULL){
cout<<"strDest is null"<<endl;
return ;
}
//判断strSrc不为空,为空则返回
if(strSrc==NULL){
cout<<"strSrc is null"<<endl;
return ;
}
char *strAddr=strDest;
while((*strDest++=*strStc++)!='\0')//复制值到strDest中
NULL;
return strAddr;
}
补充一个问题:
char *strcpy() 函数为什么要返回char *?
方便程序语句内嵌,增加程序的灵活性,如支持链式表达:
int length =strlen(strcpy(char *strDst,char *strSrc));