问题描述
- strcpy函数原型跪求答案
-
⒈strcpy的实现代码
char * strcpy(char * strDest,const char * strSrc)
{
if ((NULL==strDest) || (NULL==strSrc)) //[1]
throw "Invalid argument(s)"; //[2]
char * strDestCopy = strDest; //[3]
while ((*strDest++=*strSrc++)!=''); //[4]
return strDestCopy;
}while ((*strDest++=*strSrc++)!='');想问下,这句的判断条件到底是什么啊?还请哪位大神
把这句话拆开写一下,感谢感谢
解决方案
while (*strDest!='')
{
*strDest=*strSrc;
strDest++;
strSrc++;
}
解决方案二:
其实就是*strSrc =' 0',读完数据了。
*strDest = *strSrc,也就是*strDest被赋值为0,表示拷贝到完了(应该结束了)。
此时,*strDest = *strSrc表达式的值为0,循环判断条件判断该表达式的值为0,不满足循环条件,就退出循环。
++的运算区别可以自己查查C语言教材。
C语言的精炼特色让你开开眼吧。
时间: 2024-09-09 07:12:31