Я написал функцию для поиска двоичного значения целого числа.Бесконечный цикл while при вычислении двоичного кода
int binary(int n)
{
if(n>0)
{
int x=n%2;
binary(n/2);
printf("%d",x);
}
}
Это дает правильный результат, в то время как нижний дает бесконечный цикл.
int binary(int n)
{
while(n>0)
{
int x=n%2;
binary(n/2);
printf("%d",x);
}
}
Почему это происходит?
классический условный вопрос о постановке цикла. :) –
Потому что вы никогда не обновляете 'n'. –
Дон, т рекурсия с внешней петлей, не имеет смысла. –