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

关于strcpy, 大家帮忙看看while循环,为什么可以正确的跳出, 而不是无限循环下去解决办法

2012-03-21 
关于strcpy, 大家帮忙看看while循环,为什么可以正确的跳出, 而不是无限循环下去一个下面的strcpy,char*mys

关于strcpy, 大家帮忙看看while循环,为什么可以正确的跳出, 而不是无限循环下去
一个下面的strcpy,

char*   mystrcpy(char   *pDest,   const   char*   pSrc)   //
{
char*   tmp   =   pDest;
while(*pDest++   =   *pSrc++)
;
return   tmp;     //
}

void   main()
{
const   char*   pTest   =   "111 ";
char   pDest[128];
mystrcpy(pDest,   pTest);

}

大家帮忙看看while循环,为什么可以正确的跳出,   而不是无限循环下去

[解决办法]
pSrc遇到結束符‘\0’

此時while()里面的值就是0了。

自然就跳出循環了
[解决办法]
LS 正解
[解决办法]
while(statement)
statement结果不为0就执行,为0则跳出
[解决办法]
利用的是C串的特性
[解决办法]
'\0 '
[解决办法]
应该是这样的
while(*pDest++ = *pSrc++)
首先*pDest++ = *pSrc++,再将*pDest作为测试条件,当*pDest= '\0 '的时候退出循环
[解决办法]
都对
[解决办法]
ls都说了, 不过这个代码写得有点危险.

热点排行