#include<stdio.h>
#include<conio.h>
int add(int n);
void main()
{
int n, ans;
clrscr();
printf("Enter Number:");
scanf("%d", &n);
ans = add(n);
printf("%d", ans);
getch();
}
int add(int n)
{
if (n==0)
{
return 0;
} else {
return n + add(n-1);
}
}
У меня есть некоторые рекурсивные программы, связанные с сомнениями, которые имеют такие операторы возврата. Может ли кто-нибудь объяснить мне это надлежащим образом. Я не могу понять эту вещь, если я пишу return 0, когда n == 0, то почему он возвращает значение из else.Why ответ не является 0. Я запутался в операторе return.
Plz помогите мне. Спасибо, что заранее.Добавление чисел с использованием рекурсии В C
Сначала вы говорите, C, то вы говорите, C++. И не говорите мне, что вы _actually_ форматируете свой код таким образом? –
Зачем вам это делать, используя рекурсивную функцию? –
_ «Я не могу понять эту вещь, если я пишу return 0, когда n == 0» _ Ну, рекурсия должна остановиться в какой-то момент, нет? –