标题:函数strcpy
只看楼主
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
得分:0 

哦,是哦,mingyue~我必须道歉,我把strcat()和strcpy()这两个函数弄混了,没有经过仔细的验证就发了这个帖子,实在不应该~在此-道歉


淘宝杜琨
2004-08-02 00:16
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
得分:0 
以下是引用神vLinux飘飘在2004-08-02 00:16:08的发言:

哦,是哦,mingyue~我必须道歉,我把strcat()和strcpy()这两个函数弄混了,没有经过仔细的验证就发了这个帖子,实在不应该~在此-道歉

看在你还谦虚的份上我就原谅你吧,呵呵(啊,别杀,偶不是白目啊!)

2004-08-02 00:20
Winter2002
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2004-8-5
得分:0 
偶也明白了!谢谢讨论!
2004-08-06 00:12
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
以下是引用xuexuexue在2004-08-01 22:00:40的发言:

运行下面的程序段,输出结果是 char s1[10]="abcd",s2[10]="efg",s3[]="hi"; strcat (strcpy(s2,s3),s1); puts (s2); 答案是hiabcd strcpy(s2,s3)为hi\0 strcat (strcpy(s2,s3),s1)就为hiabcd是这样理解的吗?

理解不对。strcpy是字符串拷贝函数,也就是等于字符串附值函数。上面的(strcpy(s2,s3),s1)之所以显示hiabcd,是因为单看strcpy(s2,s3)的意思是把s3的"hi"附值给了s2。而附值后s2的原来的值就没有了被附值成了"hi",而strcat是字符串合并函数,也就是不会删除目标变量的字符串。也就是当s2被附值成"hi"后,因为strcat不会删除s2的值而会把s1的值与其合并最后合并后结果就是hiabcd。

2004-08-06 09:13
mikewolf
Rank: 1
等 级:新手上路
帖 子:175
专家分:0
注 册:2004-7-3
得分:0 
2004-08-06 12:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-3778-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.243909 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved