mercredi 23 juin 2021

How does

#include <stdio.h>

void OddChecker(int num)
{
    if (num % 2 == 1)
        printf("Odd\n");
    else
        printf("Even\n");
}

void EvenChecker(int num)
{
    if (num % 2 == 0)
        printf("Even\n");
    else
        printf("Odd\n");
}

int main()
{
    int arr[5] = {2, 5, -7, -2, -3};

    printf("\nOdd Check \n\n");

    for (int i = 0; i < 5; i++)
        OddChecker(arr[i]);

    printf("\nEven Check \n\n");

    for (int i = 0; i < 5; i++)
        EvenChecker(arr[i]);
}

The results are down below.

Odd Check

Even
Odd
Even
Even
Even

Even Check

Even
Odd
Odd
Even
Odd

There is function whether the number is even or odd. But when code checks if the number is odd using if(num %2 ==1), it doesn't seem to consider a negative number. While if(num %2 ==1) does consider it. Can someone explain me what is going on or why the difference exist??

Aucun commentaire:

Enregistrer un commentaire