| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 418 人关注过本帖
标题:关于 strlen 帮忙看看
收藏  订阅  推荐  打印 
fuyaosuixin
Rank: 1
等级:新手上路
帖子:4
积分:242
注册:2007-12-9
关于 strlen 帮忙看看

char a[n];当n取不同值时 strlen(a)的值不同啊
为什么呢
搜索更多相关主题的帖子: strlen  char  
2008-1-8 08:50
随心
Rank: 12Rank: 12Rank: 12
来自:坐得屁股疼
等级:版主
威望:8
帖子:2259
积分:22988
注册:2007-8-12

引用"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]]

看国足,品三鹿, yeah~~~
2008-1-8 09:14
余来
Rank: 12Rank: 12Rank: 12
等级:版主
威望:25
帖子:954
积分:10248
注册:2006-8-13

呵呵,这个主要是内存地址不同而导致的,如
char chs[]="yulai";
假如你这样来求
strlen(chs[0]) 那么结果是5
strlen(chs[1])那么结果是4
strlen(chs[2])那么结果是3
...............

2008-1-8 13:05
linsua
Rank: 3Rank: 3
等级:中级会员
帖子:275
积分:3186
注册:2008-1-2

strlen(&chs[0]) ?
strlen(&chs[1])?
strlen(&chs[2])?

如果你对我的话感到再明白不过 那恐怕你是误解了我的意思
2008-1-8 14:02
waferheim
Rank: 1
来自:BeiJing
等级:新手上路
帖子:14
积分:244
注册:2008-1-10

没明白你意思~~把代码发上来如何??

无法回到过去?那就把握住眼前的幸福!
2008-1-10 11:06
zabbey
Rank: 2
等级:注册会员
帖子:55
积分:736
注册:2007-10-10

strlen遇到字符串结束符'\0'返回

2008-1-10 11:23
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.050452 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved