首页 > 解决方案 > 如何查找数组中的元素个数?

问题描述

int a[10];
for(int i=0;i<5;i++)
{
   a[i]=i;
}
int len=sizeof(a)/sizeof(int);
print("%d",len);

上面的代码打印10,但实际存在的元素数量是5。需要帮助。

如果它是一个字符数组,这不会是一个问题,但是这里的整数数组会引起痛苦。

标签: arraysc

解决方案


上面的代码打印 10,但实际存在的元素数是 5

不,元素的实际数量10。您没有填充一个值来存储它,这是不同的 this,但这不会改变数组维度。

如果您需要跟踪使用/操作的元素,您需要自己通过在某处维护一个计数器来完成。

或者,如果您可以确保

  • 数组大小始终是最大所需长度 + 1
  • 有一个值永远不会出现在有效值列表中

您可以使用一个标记值,(类似于char数组中的空终止符),并使用它可以找到数组中使用的元素的数量。


推荐阅读