C语言如何检查一个数组中元素的个数

如题所述

对于字符数组str[N],判断方法有以下三种:

第一种:用库函数strlen
len = strlen(str); // 数组长度
第二种:利用计数器
int i=0;
while(str[i++] != '\0'); // 数组str的长度为i
第三种:利用sizeof函数
len = sizeof(str)/sizeof(str[0]); // 数组长度对于其他类型的数组,都可以用字符数组的第三种方法,第三种方法是通用的。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-03

对于字符数组str[N],判断方法有以下三种:

    第一种:用库函数strlen

len = strlen(str); // 数组长度

    第二种:利用计数器

int i=0;
while(str[i++] != '\0'); // 数组str的长度为i

    第三种:利用sizeof函数

len = sizeof(str)/sizeof(str[0]); // 数组长度

对于其他类型的数组,都可以用字符数组的第三种方法,第三种方法是通用的。

第2个回答  2010-09-28
看是什么数组
如果是字符串 可以用strlen函数

如果是其他数组,可以尝试用sizeof判断他的大小,但是要除掉数据结构的大小
比如int *s;
s = 某个存在的数组
大小应该等于sizeof(s)/sizeof(int)

一般来说如果定义一个数组,最好还要同时定义一个int nLength来保存数组的大小,养成这样的习惯比较好
第3个回答  2010-10-05
首先用static将数组都定义为0,在程序中用下面的程序:
#include N 1000
static int a[N]={0};
k=0;
for(i=0;i<N;i++)
if(a[i]!=0)
k++;
第4个回答  2010-10-01
我觉得很多人都没有想到这样子来做,我把代码写出来给你看看
#include "conio.h"
#include "string.h"
main()
{
char str[10];
gets(str);
printf("字符的个数为:%d",sprintf("%s",str));
getch();
}
相似回答