while dest++ = source++ 是什么意思,能否分解一下

来源:互联网  时间:2016/8/13 9:06:57

关于网友提出的“ while dest++ = source++ 是什么意思,能否分解一下”问题疑问,本网通过在网上对“ while dest++ = source++ 是什么意思,能否分解一下”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: while dest++ = source++ 是什么意思,能否分解一下
描述:

char *f_strcpy(char *dest ,char * source)
{
while (*dest++ = *source++)
;
return (dest - 1);
}


解决方案1:

return (dest - 1); 返回的是指向'\0'的指针,偶认为是个功能错误。
楼上方法正确的,无论是出口参数,还是返回值都可以得到拷贝后的字符串的首地址

解决方案2:

char *f_strcpy(char *dest ,char * source)
{
         char* temp = dest;
while (*dest++ = *source++);
return temp;
}

解决方案3:

while (*dest++ = *source++)
;
就是
while (((*dest) != '\0') && ((*source) != '\0'))
{
  (*dest) = (*source);
  ++dest;
  ++source;
}
return dest - 1 这个太奇怪了。

解决方案4:

可以解释为:
char *f_strcpy(char *dest ,char * source)
{
         while((*dest=*source)!='\0')
         {
               dest++;
               source++;
          }
return (dest - 1);
}

上一篇如何得到字字符串的位置 实现Mid函数的功能
下一篇侯捷先生曾经告诉我: 徒学不足以自行!!!!
明星图片
相关文章
《 while dest++ = source++ 是什么意思,能否分解一下》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)