ok, поэтому я готовлюсь к экзаменам на C, и я немного застрял, когда дело доходит до рекурсий. Я новичок в моем университете, и это кажется немного трудно для меня, упражнение требует, чтобы в заданном числе с использованием рекурсивной функции Мне нужно найти наименьший элемент, например: 52873 будет 2, и программа будет необходимо напечатать 2.Как найти наименьший элемент в числе с помощью рекурсии [C]
#include <stdio.h>
int min (int number, int element){
if (number==0)
return element;
if (element>number%10)
element=number%10;
min(number/10,element);
}
int main(){
int number;
while (scanf("%d",&number)){
printf("%d\n",min(number,9));
}
}
это код для ответа на упражнение, но я не понимаю его и хотел бы получить некоторое представление о том, почему он разрешен так, потому что я не очень понимаю его и разные способы его решения, большое спасибо за это.
К сожалению для придирок, но терминология имеет значение. То, что вы имеете в виду, - это найти наименьшую цифру * в количестве. –
Посмотрите на предупреждения компилятора: http://ideone.com/CZ9Qf5 – mch
Что касается вашей проблемы и кода, который вы показываете, вы, вероятно, не понимаете его, потому что он * не работает! * У вас есть функция 'min ', который объявлен для возврата значения. Но бывают случаи, когда он * не возвращает значение, приводящее к * неопределенному поведению *. –