Найти факториал числа, пользуясь только указателями - 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);
Объяснение кода листинга программы
В данном коде:
- Объявляется указатель на длинное целое число
result
и инициализируется значениемnullptr
(указатель, не указывающий на конкретное значение). - По указателю
result
записывается результат вызова функцииFact
с аргументомnumber
. ФункцияFact
не объявлена в данном коде, поэтому необходимо дополнительная информация о её определении.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д