Я не могу понять, return (x % 2) == 0; зачем там 0?

Есть задача на нахождение четного/нечетного числа. Но я не могу понять, return (x % 2) == 0; зачем там 0?

bool isEven(int x)
{
    // Если x % 2 == 0, то x - чётное число
    return (x % 2) == 0;
}


int main()
{
    setlocale(LC_ALL, "ru");
    cout << "Введи число ";
    int x;
    cin >> x;

    if (isEven(x))
        cout << x << " Четное\n";
    else
        cout << x << " Нечетное\n"; 

    введите сюда код

}

Ответы (1 шт):

Автор решения: Harry

Ну, ведь остаток от деления четного числа на 2 равен 0...

bool isEven(int x)
{
    // Если x % 2 == 0, то x - чётное число
    return (x % 2) == 0;
}

Если вы вернете просто

bool isEven(int x)
{
    // Если x % 2 == 0, то x - чётное число
    return x % 2;
}

то true будет при нечетном значении. Например, при x==3 значение x%2 == 3%2 == 1...

Конечно, можно еще и так:

bool isEven(int x)
{
    // Если x % 2 == 0, то x - чётное число
    return !(x % 2);
}
→ Ссылка