| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 560 人关注过本帖
标题:请教字符串复制出现的问题!
只看楼主 加入收藏
ITMM
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2006-8-22
收藏
 问题点数:0 回复次数:5 
请教字符串复制出现的问题!
程序:
#include<stdio.h>
#include<string.h>
int main()
{
char s1[]="nihaone nihaoa nihaobu nihaihaoa\n ";
char s2[]="good good study,day day up!\n";
char s3[]="misssing you!\n";
printf(s1);
printf(s2);
printf(s3);
strcpy(s1,s2);
strcpy(s3,s2);
printf(s1);
printf(s2);
printf(s3);
return 0;
}
输出结果:
nihaone nihaoa nihaobu nihaihaoa
good good study,day day up!
misssing you!
good good study,day day up!
day day up!
good good study,day day up!
问题:为什么字符串S2在第二次打印的时候变成了:day day up! 而不是:good good study,day day up!
先谢谢了,呵呵
搜索更多相关主题的帖子: 字符 
2006-10-25 11:36
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

我运行的是这样?不知道楼主是用什么编译器调式的.
顺便说句闲话good good study,day day up!这个好亲切

倚天照海花无数,流水高山心自知。
2006-10-25 12:09
ITMM
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2006-8-22
收藏
得分:0 

我是在linux下运行的,感觉好奇怪呢?!
不知道什么原因呢?
毛主席从小就教导我们:good good study,day day up!嘿嘿……
还是很感谢楼上的,呵呵


2006-10-25 13:13
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 

数组s3[]比s2[]小,怎么复制啊?


2006-10-25 14:47
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
其实数组s1[],s2[],s3[]是在内存空间上是连续分配的,s2[]的长度超过s3[],把s2[]复制给s3[],导致s2[]的一部分被复制的内容覆盖,所以出现了你那个情况

2006-10-25 15:03
ITMM
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2006-8-22
收藏
得分:0 

呵呵,谢谢楼上的啊!好像就是这个原因。


2006-10-26 09:00
快速回复:请教字符串复制出现的问题!
数据加载中...
 
   



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

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