| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 415 人关注过本帖
标题:[转贴]用strlen直接输出数组竟然长度都为15
收藏  订阅  推荐  打印 
我是杨过
Rank: 2
等级:注册会员
帖子:49
积分:620
注册:2007-11-23
[转贴]用strlen直接输出数组竟然长度都为15

#include<stdio.h>
#include<string.h>
int main()
{
        char a[10];
        printf("%d",strlen(a));
}为什么==15?
搜索更多相关主题的帖子: strlen  长度  输出  
2007-11-25 14:01
中学者
Rank: 12Rank: 12Rank: 12
等级:版主
威望:14
帖子:3389
积分:34733
注册:2007-9-14

没有初始化,a只是个空数组,没有存放字符串,编译器随机给值!!!在内存中不知道哪个位置上有'\0',当strlen检索时,找到的位置可能是越界的!

汇编.....
2007-11-25 14:09
我是杨过
Rank: 2
等级:注册会员
帖子:49
积分:620
注册:2007-11-23

任何编译器都是这样 真的

不要幻想,因为那从来不会是真的!
2007-11-25 14:11
中学者
Rank: 12Rank: 12Rank: 12
等级:版主
威望:14
帖子:3389
积分:34733
注册:2007-9-14

编译器给a数组的值有一个可能就是'\0',

汇编.....
2007-11-25 14:14
死了都要C
Rank: 12Rank: 12Rank: 12
来自:四川成都
等级:贵宾
威望:13
帖子:1507
积分:15568
注册:2006-12-7

如果你对数组只赋一个除值```长度一定为1````

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
http://yzfy.org
2007-11-25 14:40
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

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