Ich versuche eine rekursive Funktion zu schreiben, um zu überprüfen, ob ein Benutzer eine Zahl eingegeben hat, die alle geraden Ziffern enthält.Rekursive Funktion, um zu überprüfen, ob alle Ziffern in einer int-Variablen gerade sind
Was ist los mit meiner Logik? Als ich versuchte, mit "556" Ergebnis ist 1.
int main()
{
int num;
int *result;
printf("Enter a number: ");
scanf("%d", &num);
allEven(num, &result);
printf("allEven(): %d", result);
}
void allEven(int number, int *result)
{
if ((number % 10) % 2) // if the last digit is odd
{
*result = 0;
}
else
{
*result = 1;
if ((number/10) != 0) //not the last digit to evaluate, we call the function again.
{
allEven((number/10), &result);
}
}
}
Haben Sie nicht einen Compiler arror bei' allEven erhalten ((Nummer/10), & Ergebnis); 'zweiter Parameter? – CiaPan
Sieht aus wie Frage 6 Ihrer Programmieraufgabe – user1758596