标题:[转贴]用strlen直接输出数组竟然长度都为15
只看楼主
我是杨过
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2007-11-23
 问题点数:0 回复次数:4 
[转贴]用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: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
得分:0 
没有初始化,a只是个空数组,没有存放字符串,编译器随机给值!!!在内存中不知道哪个位置上有'\0',当strlen检索时,找到的位置可能是越界的!

樱花大战,  有爱.
2007-11-25 14:09
我是杨过
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2007-11-23
得分:0 
任何编译器都是这样 真的

不要幻想,因为那从来不会是真的!
2007-11-25 14:11
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
得分:0 
编译器给a数组的值有一个可能就是'\0',

樱花大战,  有爱.
2007-11-25 14:14
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
得分:0 
如果你对数组只赋一个除值```长度一定为1````

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-11-25 14:40



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




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

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