Найти факториал числа, пользуясь только указателями - C (СИ) (72369)

Узнай цену своей работы

Формулировка задачи:

Написал такое:
// Найти факториал числа, пользуясь только указателями.
 
#include <iostream>
using namespace std;
 
long Fact(long*);
 
void main()
{
    long number = 5;
    long* result = nullptr;
    *result = Fact(&number);
    cout << "Factorial of " << number << " is " << *result << endl;
}
 
long Fact(long *ptr)
{
    long temp = (*ptr) - 1;
    return (*ptr) * Fact(&temp);
}
Выдает ошибку, что рекурсия вызывает переполнение стэка. Где накосячил?

Решение задачи: «Найти факториал числа, пользуясь только указателями»

textual
Листинг программы
long* result = nullptr;
*result = Fact(&number);

Объяснение кода листинга программы

В данном коде:

  1. Объявляется указатель на длинное целое число result и инициализируется значением nullptr (указатель, не указывающий на конкретное значение).
  2. По указателю result записывается результат вызова функции Fact с аргументом number. Функция Fact не объявлена в данном коде, поэтому необходимо дополнительная информация о её определении.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5
Похожие ответы