C语言中求一个数组的长度,注意是数组,不是字符串,strlen和sizeof是求字符串的

我指的数组长度是指数组中数的个数,就是有几个数

。。。我刚刚回答完你另外一个问题,看到这里我发现你理解上有错误啊,基本功不扎实啊。。
我反问,C语言里面定义数组的时候不是已经定义好了有几个数了么? unsigned int a[10]就是10个数 ,20个字节长,即使你只给其中5个赋了值,另外5个还是存在的啊,默认应该就是0,他们也是数啊,这里面就是有10个数。要想让我们帮到你,请再说的详细点,暂时这个问题不成问题。追问

能加QQ吗谢谢,694178401

追答

加QQ不太好,可以百度hi。我在呢。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-23
sizeof 是可以求数组占用空间大小的。
你要数组的大小,可以sizeof后除以数组元素的sizeof,再减一即可。
第2个回答  2011-08-23
你总要输入吧,在输入的时候定义一个变量count来记录就可以了,每输入一个数count++追问

求详细,谢谢!

追答

请问你要怎么输入数组,题目说详细点

追问

我研究的是51单片机,主要是想求串口就收到的数组的长度,因为上位机发送一个数,下位机返回一组数据,就是求接收到的下位机返回的数组的长度

第3个回答  2011-08-23
int a[10];
int p=sizeof(a);
int len=p/sizeof(int);
第4个回答  2011-08-23
char str[] = "some srting";
int length = sizeof(str) / sizeof(str[0]);

int length = strlen(str);
相似回答