|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 字符数组难题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
399
人关注过本帖
标题:
字符数组难题
只看楼主
加入收藏
千年小妖
等 级:
论坛游民
帖 子:11
专家分:17
注 册:2012-5-18
结帖率:
100%
楼主
收藏
已结贴
√
问题点数:5 回复次数:6
字符数组难题
#include
#include
int main()
{
char a[5] = {'h', 'e', 'l', 'l', 'o'};
printf( "a length is : %d\n", strlen(a) );
return 0;
}
为什么结果是11啊?求高人指教。
搜索更多相关主题的帖子:
include
return
2012-05-18 21:44
举报帖子
使用道具
赠送鲜花
巴克
等 级:
论坛游侠
帖 子:93
专家分:199
注 册:2012-2-8
第
2
楼
收藏
得分:0
char a[5] = {'h', 'e', 'l', 'l', 'o'};
这个初始化就错了
2012-05-18 22:33
举报帖子
使用道具
赠送鲜花
a7882669
等 级:
业余侠客
帖 子:192
专家分:290
注 册:2012-4-17
第
3
楼
收藏
得分:0
#include
<stdio.h>
int main()
{
char a[6] = {'h', 'e', 'l', 'l', 'o'};
printf( "%s\n",a );
return 0;
}
试试这个吧!!
2012-05-18 22:40
举报帖子
使用道具
赠送鲜花
爱闹的娃
等 级:
蝙蝠侠
威 望:
3
帖 子:265
专家分:975
注 册:2011-10-23
第
4
楼
收藏
得分:0
是因为你的数组定义问题....它会自动加上‘\0’.....
2012-05-19 00:33
举报帖子
使用道具
赠送鲜花
lucky563591
等 级:
小飞侠
威 望:
4
帖 子:765
专家分:2103
注 册:2009-11-18
第
5
楼
收藏
得分:0
初始化有问题。
2012-05-19 09:06
举报帖子
使用道具
赠送鲜花
小糊涂神c30
等 级:
蝙蝠侠
威 望:
3
帖 子:198
专家分:809
注 册:2012-4-25
第
6
楼
收藏
得分:0
数组定义问题,你这样定义字符串后面不会加结束标志,所以他不知道数组的长度是多少。你试一下这样的定义char a[6] = {"hello"};,这种定义形式会自动加上结束标志'\0'。
理解一下这两种定义的区别你就会知道问题出在哪了。
2012-05-19 09:19
举报帖子
使用道具
赠送鲜花
zhangqi_gsts
来 自:甘肃天水
等 级:
侠之大者
威 望:
1
帖 子:227
专家分:457
注 册:2011-3-27
第
7
楼
收藏
得分:5
结果是12,15,100都有肯能,strlen()要找到第一个'\0'
2012-05-19 19:34
举报帖子
使用道具
赠送鲜花
7
1/1页
1
快速回复:
字符数组难题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.027801 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved