Почему я получаю 0 вместо 2
разбейте данное целое число на цифры и выведите число "5", присутствующее в целочисленном числе, используя рекурсию
Что я уже пробовал:
#include <stdio.h> int extract (int); int main() { int Number, r = 0; printf("\nPlease Enter any number\n"); scanf("%d", &Number); r = extract(Number); printf(" %d", r); return 0; } int extract (int Number) { int Reminder, c=0; if(Number > 0) { Reminder = Number % 10; if(Number == 5) { c=c+1; } else { c=0; } extract (Number / 10); return c; } else return 0; }
[edit]добавлен блок кода-OriginalGriff [/edit]
Richard MacCutchan
Ваша рекурсия не работает, потому что вы игнорируете значение, возвращаемое из нее внутри вашей функции извлечения.