| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 578 人关注过本帖
标题:刚学C语言出现的问题
只看楼主 加入收藏
jiang_qingge
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2010-3-19
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
刚学C语言出现的问题
char str[]={"hello\0\t\nabc"};
printf("%d",strlen(str));



结果是什么?   为什么?
搜索更多相关主题的帖子: C语言 
2010-03-21 23:29
jcslt
Rank: 8Rank: 8
来 自:90-xx.com
等 级:蝙蝠侠
帖 子:251
专家分:975
注 册:2009-10-10
收藏
得分:2 
结果为5
char str[]={"hello\0\t\nabc"};//\0字符串结束,\t对齐,\n换行
printf("%d",strlen(str));//读取str字符串的个数,到\0时结束不再读入

www.
2010-03-21 23:41
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:2 
主要是知道strlen的原理就行了,无论题目怎么出就那么回事!
2010-03-21 23:49
MIQIKing
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:36
专家分:106
注 册:2010-3-21
收藏
得分:2 
结果为5
因为在数组中的结束标识为\0。所以str数组中的元素只有hello。
strlen(),求的是字符串的长度。一共有五个字符,故输出5
2010-03-22 07:02
lucky563591
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:765
专家分:2103
注 册:2009-11-18
收藏
得分:2 
原来如此
2010-03-22 07:30
wangjianhui
Rank: 8Rank: 8
来 自:^帅帅城^
等 级:蝙蝠侠
威 望:2
帖 子:353
专家分:745
注 册:2010-3-19
收藏
得分:2 
输出的是5,因为strlen是计算字符长度的,由于在Hello后加了\0意思是结束计算字符串长度,所以一共计算出5个字符、即输出5

加油
2010-03-22 11:14
djczlp520
Rank: 1
等 级:新手上路
帖 子:6
专家分:4
注 册:2010-3-19
收藏
得分:2 
输出数组中的字符个数对吗!!!!
2010-03-22 15:45
林语
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:98
专家分:184
注 册:2009-8-29
收藏
得分:2 
输出结果是5
strlen是求字符长度的函数,而字符数组以\0作为结束标志,也就是说只要遇到\0则字符数组到此结束
所以数组中只有hello这5个字符,结果当然就是5啦。。
2010-03-22 15:53
快速回复:刚学C语言出现的问题
数据加载中...
 
   



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

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