首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于strcpy一个经典有关问题

2012-02-26 
关于strcpy一个经典问题char*strcpy1(char*strDest,constchar*strSrc){assert((strDest!NULL)&&(strSrc!

关于strcpy一个经典问题
char*   strcpy1(char   *strDest,const   char   *strSrc)
{
assert((strDest!=NULL)&&(strSrc!=NULL));
char   *temp=strDest;
while((*strDest++=*strSrc++)!= '\0 ')
NULL;
return   temp;
}
//((*strDest++=*strSrc++)!= '\0 ')这句话表示什么意思
//是否就是等于
while(*strSrc!= '\0 ')
{
*strDest++=*strSrc++;
}
*strDest= '\0 ';

[解决办法]
返回的 是*strDest的 值
[解决办法]
(*strDest++=*strSrc++) ======> (*strDest=*strSrc);strDest++;strSrc++;(VC6.0下)
在其他编译器下执行过程会略有所差异
[解决办法]
while((*strDest++=*strSrc++)!= '\0 ')
NULL;

相当于
while(1){
*strDest=*strSrc;//不管*strSrc是什么,先完成赋值操作
if(*strDest != 0)//如果没有复制到字符 '\0 ',则移动指针
{
strDest++;
strSrc++;
}
else //否则循环结束
break
}

热点排行