C语言,求数组中元素的个数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言,求数组中元素的个数相关的知识,希望对你有一定的参考价值。
#include <stdio.h>
#define MAX 5000
int main()
int i,n,j=0,m,k;
int a[MAX];
for(i=0;i<10;i++)
a[i]=i;//对十个数组依次赋值
for(;j<MAX;j++)
if(a[j]==NULL)//如果数组为空则返回当前数组的下标,即为数组元素的个数
//或者这样写a[j]=='\0'
m=j;
printf("%d\n",m);
break;
return 0;
可是最后输出的值是0,还请大神求解!
即a[0]=0;
for(;j<MAX;j++)
if(a[j]==NULL)//如果数组为空则返回当前数组的下标,即为数组元素的个数
//或者这样写a[j]=='\0'
m=j;
printf("%d\n",m);
break;
所以上面程序j=0时,a[0] == NULL是TRUE,所以打印出m为0啊
所以你可以将赋值语句改一下即可
for(i=1;i<=10;i++)
a[i]=i;//对十个数组依次赋值
参考技术A 因为循环中为空就输出并退出,因改为
#include <stdio.h>
#define MAX 5000
int main()
int i,n,j=0,m,k;
int a[MAX];
for(i=0;i<10;i++)
a[i]=i;
for(j=0;j<MAX;j++)
if(a[j]!=0||j==0)
m=j;
printf("%d\n",m);
else
break;
return 0;
参考技术B if(a[j]==NULL),不能这么判断,这是判断数组元素的最后一个,并不是你输入数据的最后一个,你要么给数组a一个结束标志,根据结束标志才能判断。楼上的都说错了吧
以上是关于C语言,求数组中元素的个数的主要内容,如果未能解决你的问题,请参考以下文章