Смысл функции заключается в суммировании всех чисел от 1
до N
, где N
- передаваемый параметр.Функция вызывает себя рекурсивно, когда N != 1
, чтобы получить сумму ..., добавив N
к сумме чисел до N-1
.Кстати, код, который вы разместили, прекрасно компилируется и работает в моей системе (без какого-либо касания), так что, вероятно, вы не тестировали код, который вы разместили, и он не совпадает с кодом, который вы тестировали.Попробуйте скомпилировать:
cc -o pru pru.c
, где pru
- это имя программы, а pru.c
- файл, в котором у вас есть код.
Это упражнение для проверки того, как рекурсивные функцииможет использоваться в C. Но если вы не знаете, что можете использовать два разных оператора return
в одной и той же функции, вы пытаетесь слишком быстро освоить язык C.Рекурсия в C более продвинута, чем оператор return
.Я могу порекомендовать вам прочитать «Язык программирования C», от Брайана Кернигана и Денниса Ричи .