【发布时间】:2017-07-06 13:23:35
【问题描述】:
如何仅读取包含以下数组中数据值的单元格。 sample array
这是我的代码作为示例,它显示值但它读取所有单元格以仅检索 4 个值。我怎样才能避免这个包含零的位置?。随机位置中可能有数据,其余位置将为零。有没有办法只读取包含单元格的数据值。
#include<stdio.h>
void main()
{
int i,data[500000]={25,0,0,0,0,98,0,0,13,0,857};
for(i=0;i<500000;i++)
{
if(data[i]==0)
continue;
printf("%d\t",data[i]);
}
}
【问题讨论】:
-
您的代码说不打印零。数组中只有四个非零值。你预计会发生什么?
-
另外,当您只使用 11 个值进行初始化时,为什么还要使用
500000? -
如果您需要一个包含 50 万个
int值的数组,堆栈可能不是最适合它的地方。请改用malloc()或calloc()。 -
用一个标记值填充数组,比如-1,当你点击它时,跳出你的循环。如果有效数字不允许哨兵值,那么您只需要跟踪您正在使用另一种方式的数组的多少。
-
我希望支持这个问题的人能够解释它到底想问什么。
标签: c arrays algorithm data-structures