标题:关于 strlen 帮忙看看
只看楼主
fuyaosuixin
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-12-9
 问题点数:0 回复次数:5 
关于 strlen 帮忙看看
char a[n];当n取不同值时 strlen(a)的值不同啊
为什么呢
搜索更多相关主题的帖子: strlen char 
2008-01-08 08:50
随心
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:12
帖 子:2577
专家分:250
注 册:2007-8-12
得分:0 
引用"nuciewth”版主的一句话:
主要是strlen()只是用来求字符串的长度.你定义的字符数组是没有初始化的,所以是个随机值.
估计你的代码应该是这样形式的:
#inlcude <stdio.h>
#include <string.h>
int main()
{
    char a[1];
    printf("%d\n",strlen(a));
    return 0;
}
如果不是,那你把你的代码发上来,大家一起讨论

[[italic] 本帖最后由 随心 于 2008-1-8 09:16 编辑 [/italic]]

天之道,利而不害。圣人之道,为而不争。信言不美,美言不信。善者不辩,辩者不善。知者不博,博者不知。
2008-01-08 09:14
余来
Rank: 6Rank: 6
等 级:贵宾
威 望:26
帖 子:956
专家分:18
注 册:2006-8-13
得分:0 
呵呵,这个主要是内存地址不同而导致的,如
char chs[]="yulai";
假如你这样来求
strlen(chs[0]) 那么结果是5
strlen(chs[1])那么结果是4
strlen(chs[2])那么结果是3
...............

2008-01-08 13:05
linsua
Rank: 1
等 级:新手上路
帖 子:275
专家分:0
注 册:2008-1-2
得分:0 
strlen(&chs[0]) ?
strlen(&chs[1])?
strlen(&chs[2])?

如果你对我的话感到再明白不过 那恐怕你是误解了我的意思
2008-01-08 14:02
waferheim
Rank: 1
来 自:BeiJing
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-1-10
得分:0 
没明白你意思~~把代码发上来如何??

无法回到过去?那就把握住眼前的幸福!
2008-01-10 11:06
zabbey
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2007-10-10
得分:0 
strlen遇到字符串结束符'\0'返回

2008-01-10 11:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-196416-1-1.html




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

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