| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 247 人关注过本帖
标题:大家帮忙看看咋回事
只看楼主 加入收藏
我爱魔术
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2012-10-16
结帖率:0
收藏
 问题点数:0 回复次数:3 
大家帮忙看看咋回事


#include <stdio.h>

void main()
{
    char str[5]="Hello";
    printf("%s\n",str);
}
图片附件: 游客没有浏览图片的权限,请 登录注册

#include <stdio.h>

void main()
{
    char str[]="Hello";
    printf("%s\n",str);
}
图片附件: 游客没有浏览图片的权限,请 登录注册

void main()
{
    char str[6]="Hello";
    printf("%s\n",str);
}


为什么把5去掉或者改成6就能正常显示呢?
搜索更多相关主题的帖子: include void 
2012-10-27 21:48
Y影子Z
Rank: 3Rank: 3
来 自:石家庄
等 级:论坛游侠
帖 子:54
专家分:110
注 册:2012-10-12
收藏
得分:0 
如果是5,就没有空间去存字符串结束标志,printf("%s\n",str)遇到字符串结束标志才会停,所以后面会有乱码

有光明必然会有黑暗,而影子,就是光明与黑暗的缝隙
2012-10-27 21:58
zxd543
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:内蒙古
等 级:贵宾
威 望:17
帖 子:453
专家分:2351
注 册:2012-4-12
收藏
得分:0 
你用strlen()测试一下Hello的长度就明白了

马马虎虎 不吝赐教 我是路过蹭分滴
2012-10-28 09:48
w995612220
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:139
专家分:313
注 册:2012-6-20
收藏
得分:0 
\0没有地方放。%s没有找到\0,迷路了只能一直往前走直到找到\0这个符号
2012-10-28 10:29
快速回复:大家帮忙看看咋回事
数据加载中...
 
   



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

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