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

strcpy的返回值有关问题

2012-09-12 
strcpy的返回值问题char *strcpy(char *strDest,const char *strSrc){assert((strDest!NULL)&&(strSrc!N

strcpy的返回值问题

char *strcpy(char *strDest,const char *strSrc) 

  assert((strDest!=NULL)&&(strSrc!=NULL)); 
  char *address=strDest; 
  while((*address++=*strSrc++)!='\0'); 
  return strDest; 


如上面的代码,请问这么返回strDest有问题吗?而且为什么strcpy需要返回值,林锐《高质量C++编程指南》说过这只是为了增加灵活性如支持链式表达

[解决办法]
没有看出来问题,貌似源码也是这么做的
strcpy不返回值当然没有问题,好像现在大部分人都不会用那个“链式表达式”
[解决办法]
像有些函数还返回一个bool的值..很正常啊 ...
cin函数输出后还要返回一个cin呢..
[解决办法]
我觉得可以改进的地方:strDest,strSrc出现重叠的情况,至少用某种方式给出提示
[解决办法]
assert 只在debug 下有效

热点排行