循环通过阵列指针

时间:2013-05-29 08:39:09

标签: c++ arrays pointers for-loop

我试图通过数组指针循环以获取该数组中的偶数。

void even_element(double* a, const int SIZE)
{
for (int count = 0; count < SIZE; count ++)
{
    if(a[count] % 2 == 0) //Error here
    {
        cout << *(a + count) << " ";
    }
}
}

我知道如果我在声明数组的main方法中执行,我可以在不使用指针的情况下执行此操作:

for (int count = 0; count < SIZE; count ++)
{
    if(num_array[count] % 2 == 0)
    {
        cout << num_array[count] << " ";
    }
}

然而,当我尝试使用指针执行此操作时,我不知道如何通过数组中的元素循环。有人可以指导我吗?

提前致谢。

2 个答案:

答案 0 :(得分:4)

使用浮点数时,应使用fmod而不是整数模运算符%

但是,处理浮点值时要小心:不能直接比较值。您必须比较值与非常小的epsilon值之间的绝对差值。

答案 1 :(得分:1)

你不能将'%'与double一起使用。以下链接对您有用:

Can't use modulus on doubles?