| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 807 人关注过本帖
标题:请教大虾们一个离奇的C语言问题??
只看楼主 加入收藏
Jorbo
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2004-9-8
收藏
 问题点数:0 回复次数:2 
请教大虾们一个离奇的C语言问题??

#include"stdio.h" #include"string.h" void main() { static char str0[100], str1[]="china",str2[]="shenzhen"; // printf("%s\n",str1); // printf("%s\n",str2); strcpy(str0,str1); strcpy(str1,str2); strcpy(str2,str0); printf("%s\n",str1); printf("%s\n",str2); }

按本人意愿输出结果应是:shenzhen

china

但实际输出结果是: shenzhenchina

china

为什么会在 shenzhen 后多出一个china????不信你自已试一下,真的好奇怪??

搜索更多相关主题的帖子: C语言 
2004-09-08 13:19
onicuka
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2004-6-23
收藏
得分:0 

你看看str1[]="china"和str2[]="shenzhen" 分配的字节一样吗?将2拷贝给1的话会因为自己节不过而出现异常.

你这样str1[255]="china",str2[255]="shenzhen"再试试


2004-09-08 14:00
Jorbo
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2004-9-8
收藏
得分:0 
谢谢onicuka的指点,果然高手!!

2004-09-08 14:50
快速回复:请教大虾们一个离奇的C语言问题??
数据加载中...
 
   



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

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