我需要在C中对数组做两件事:
我通过循环遍历数组的每个元素来做这两件事。 E.g。
int sum_array(int a[], int num_elements)
{
int i, sum=0;
for (i=0; i<num_elements; i++)
{
sum = sum + a[i];
}
return(sum);
}
对于任务2,我将检查条目是否为0.如果不是,则将其位置添加到另一个数组以将其标记为非零。
问题
有更有效的方法吗?
如果那里有更有效的解决方案,我也在使用GNU科学库(GSL)。我最近刚开始做C。
答案 0 :(得分:0)
对于第2部分,您实际上不需要做任何工作。
如果数组中的值为零,那么它将评估为false。任何非零值都将评估为true。因此,您可以随时遍历数组,并忽略零值。
答案 1 :(得分:0)
根据Gregor,EvilTeach和我自己的一些谷歌搜索的评论,我的方法是可以接受的。