菜鸟问题:char*strcpy(char*strDest,const char*strSrc);

whwqm 2004-07-30 05:55:12
编写strcpy函数 char *strcpy(char *strDest,const char *strSrc);
strDest是目的字符串,strSrc是源字符串
(1)不调用C++/C的字符串库函数,请编写函数strcpy
(2)strcpy能把strSrc的内容复制到strDest,为什么还要char*类型的返回值?
马上结!!!!
...全文
410 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
grrrr 2004-07-30
  • 打赏
  • 举报
回复
char *strcpy(char *strDest, const char *strSrc);

{

assert((strDest!=NULL) && (strSrc !=NULL)); // 2分

char *address = strDest; // 2分

while( (*strDest++ = * strSrc++) != ‘\0’ ) // 2分

NULL ;

return address ; // 2分

}



(2)strcpy能把strSrc的内容复制到strDest,为什么还要char * 类型的返回值?

答:为了实现链式表达式。 // 2分

例如 int length = strlen( strcpy( strDest, “hello world”) );
________________________________________________________________________
选自《高质量C++/C 编程指南》作者:林锐


plusKid 2004-07-30
  • 打赏
  • 举报
回复
(2)strcpy 能把strSrc 的内容复制到strDest,为什么还要char * 类型的返回值?
答:为了实现链式表达式。 // 2 分
例如 int length = strlen( strcpy( strDest, “hello world”) );
-----------------------------------
选自《高质量C++/C 编程指南》作者:林锐
whwqm 2004-07-30
  • 打赏
  • 举报
回复
第二个问题还没有高见?我一会结了
bianliuwei 2004-07-30
  • 打赏
  • 举报
回复
林锐那书里面要求写的就是这个原形.如果真要写的话
char *strcpy(char *strDest,const char *strSrc)
{
strDest = strSrc;//只要把地址附一下值就行了
return strDest;
}
ber 2004-07-30
  • 打赏
  • 举报
回复
2、举个例子吧:
return(strcpy(memory,string));
如果不返回char*类型这样行吗?
ber 2004-07-30
  • 打赏
  • 举报
回复
1、MS的源代码:
char * __cdecl strcpy(char * dst, const char * src)
{
char * cp = dst;

while( *cp++ = *src++ )
; /* Copy src over dst */

return( dst );
}
tuxw 2004-07-30
  • 打赏
  • 举报
回复
怎么都出这个题目?看到好多次了

http://community.csdn.net/Expert/topic/3224/3224142.xml?temp=.4493982
bianliuwei 2004-07-30
  • 打赏
  • 举报
回复
是不是误解了林锐的高质量程序设计.问题2:第一个参数就是需返回的字符串,才不会致使返回一个危险的零时变量.

64,662

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧