首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

字符数组空间分配有关问题

2012-03-07 
字符数组空间分配问题#includestdio.h#includestring.hvoidmain(void){chara[10]printf( thelengtho

字符数组空间分配问题
#include   <stdio.h>
#include   <string.h>

void   main(void)
{
char   a   [10]   ;

printf( "the   length   of   a   is   %d   \n ",strlen(a));
}

输出为15,为什么?
在这种没有初始化的字符数组的时候空间是由系统随机分配么?

[解决办法]
在这种没有初始化的字符数组的时候空间是由系统随机分配么?
==========================================================
是堆栈中上次使用后遗留的内容
[解决办法]
判断长度是从起始地址一直遇到结束符
你没初始化,值是什么都有可能,
[解决办法]
变量初始化问题。变量要赋初值。
[解决办法]
首先 ,你没初始化数组,其中的值不确定。
其次, The strlen() function calculates the length of the string s, not
including the terminating ‘\0’ character.
他计算c字符串的长度。
所以 ,值是什么都可能。

[解决办法]
char a [10] ;//定义字符数组
strlen(a));//计算字符串长度
由于a的不确定,因此输出的长度是任意的,知道遇到 '\0 '

热点排行