int is_even(int n)
{
int result = -1;
char number[8]; //should be enough
sprintf(number, "%d", n);
// check the number
// TODO: handle negative numbers
for (char *p=number; *p; p++)
{
if (*p=='0' || *p=='2' || *p=='4' || *p=='6' || *p=='8')
result = 1;
else if (*p=='1' || *p=='3' || *p=='5' || *p=='7' || *p=='9')
result = 0;
else
sprintf(stderr, "Your number is wrong!\n");
exit(1);
}
return result;
}
I used it once, as a last resort when I wanted to try some program that had a ridiculous set of build dependencies that was just too much. It was okay, I guess.