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

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

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

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

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

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

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

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

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

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


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

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

13   голосов , оценка 3.846 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы