以文本方式查看主题

-  堕落街论坛  (http://duoluojie.1314179.com.cn:443/index.asp)
--  游戏体育  (http://duoluojie.1314179.com.cn:443/list.asp?boardid=331)
----  [转帖]  (http://duoluojie.1314179.com.cn:443/dispbbs.asp?boardid=331&id=86616)

--  作者:overgame
--  发布时间:2005/6/20 13:19:00
--  [转帖]

char s1[]="1234",s2[]="1234";
printf("%d\\n",strlen(strcpy(s1,s2)));
则输出结果是4
为什么不是9的啊?

是不是s1=s2.就是s2覆盖s1的拉?假如把s2[]="5678"呢,答案是8还是9啊?是不是连那个结束标志也要算上去的啊?


--  作者:我最简单
--  发布时间:2005/6/24 8:05:00
--  
以下是引用overgame在2005-6-20 13:19:00的发言:

char s1[]="1234",s2[]="1234";
printf("%d\\n",strlen(strcpy(s1,s2)));
则输出结果是4
为什么不是9的啊?

是不是s1=s2.就是s2覆盖s1的拉?假如把s2[]="5678"呢,答案是8还是9啊?是不是连那个结束标志也要算上去的啊?

strlen是读取数组长度,返回值是int

strcpy(x,y)是拷贝数组,意思是将y数组里的数值完全替代x数组的


--  作者:john56
--  发布时间:2005/6/27 9:17:00
--  

楼主好像很多不明白的啊。