编程论坛
注册
登录
编程论坛
→
C++教室
[转贴]用strlen直接输出数组竟然长度都为15
我是杨过
发布于 2007-11-25 14:01, 907 次点击
#include<stdio.h>
#include<string.h>
int main()
{
char a[10];
printf("%d",strlen(a));
}为什么==15?
4 回复
#2
中学者
2007-11-25 14:09
没有初始化,a只是个空数组,没有存放字符串,编译器随机给值!!!在内存中不知道哪个位置上有'\0',当strlen检索时,找到的位置可能是越界的!
#3
我是杨过
2007-11-25 14:11
任何编译器都是这样 真的
#4
中学者
2007-11-25 14:14
编译器给a数组的值有一个可能就是'\0',
#5
死了都要C
2007-11-25 14:40
如果你对数组只赋一个除值```长度一定为1````
1