arrays - 如何查找数组中的元素个数?
问题描述
int a[10];
for(int i=0;i<5;i++)
{
a[i]=i;
}
int len=sizeof(a)/sizeof(int);
print("%d",len);
上面的代码打印10,但实际存在的元素数量是5。需要帮助。
如果它是一个字符数组,这不会是一个问题,但是这里的整数数组会引起痛苦。
解决方案
上面的代码打印 10,但实际存在的元素数是 5
不,元素的实际数量是10。您没有填充一个值来存储它,这是不同的 this,但这不会改变数组维度。
如果您需要跟踪使用/操作的元素,您需要自己通过在某处维护一个计数器来完成。
或者,如果您可以确保
- 数组大小始终是最大所需长度 + 1
- 有一个值永远不会出现在有效值列表中
您可以使用一个标记值,(类似于char
数组中的空终止符),并使用它可以找到数组中使用的元素的数量。
推荐阅读
- flutter - 如何修复这个颤振错误'package:flutter/scr/painting/image_resolution.dart''assetName!= null'不正确
- java - Java 8 从其他中删除 1 个列表
- javascript - 如何在 TICTACTOE 游戏中查看获胜者?JavaScript
- hive - Hive 中 rand() 函数的精度?
- angular - 在 angular9 中使用 jasmine karma 进行 ag-grid 单元测试
- mongodb - MongoDB 插入 - 未捕获的异常:SyntaxError: missing ) after argument list :
- protobuf-net - 意外的子类型
- python - 我有一个程序在 Python 中“暴力破解”一个方程,有没有办法让它更快?
- html - 添加 HTML 的动态列
- wordpress - 无法在 Wordpress 树枝中显示带有 html 源标记的图像