直接看代码
首先是数组的长度
对于数组本身的长度的求法颇为简单
如果是字符数组,我们可以直接用库函数
int len = strlen(s);
最常见的是数组都是数值的,这个时候我们可以定义or直接写
sizeof()是一个运算符可以获取数组的字节数,再除去数组的一个元素的字节数,就可以得到数组长度了
#define size(num,n) sizeof(num)/sizeof(num[0])//num[0]可以换成任意一个数组元素
//or:
int len = sizeof(num)/sizeof(num[0]);
自定义的函数不太好写,我也不知道应该怎么写,得到的结果往往是1。
还有一种模板类的做法
int length(T&num)
{
return sizef(num) / sizeof(num[0]);
}
然后就是数组内填充元素个数的获取
实际上在各类算法题中不同情形下方法都会有所不同
比如多组输入不确定元素,求个数
可以用一个计数器,写法大同小异,如
int i = 0;
int num[N];
while(scanf("%d",&num[i])!=EOF)
i++;
//到最后就会得到数组内实际元素的个数啦