简单C Xcode程序中的exc_bad_access
EXC_BAD_ACCESS in simple c++ XCODE program
我是C 的新手,我正在尝试制作一个计算器。我设计了此功能,目的是获取数字的阶乘:
int factorial(int num1) {
int sum;
if (num1 == 1) {
sum = 1;
}
else {
sum = factorial((num1 - 1) * num1);
}
return sum;
}
每当我尝试编译时,我会在
上获得错误exc_bad_accessint factorial(int num1)
知道发生了什么事吗?我正在使用Xcode。
每当num1
不是1
时,您的定义会导致无限递归。
自己做数学:
factorial(2)
= factorial((2-1) * 2)
= factorial(2)
= factorial((2-1) * 2)
= ...
或
factorial(3)
= factorial((3-1) * 3)
= factorial(6)
= factorial((6-1) * 6)
= factorial(30)
= ...
阶乘功能的递归定义不是
factorial(n) = factorial((n - 1) * n)
是
factorial(n) = n * factorial(n - 1)
(阶乘不是总和,而是产品。)
相关文章:
- 使用来自 Excel VBA 的 C++ dll 时"Bad DLL calling convention" - 如何解决?
- C++17 编解码器在将标准::字符串转换为标准::字符串时抛出"bad conversion"
- 对于代理容器上的迭代器来说,"least bad implementation"可能是什么?
- 获取错误:在抛出"std::bad::alloc"的实例后终止调用 what(): std::bad_alloc
- 为什么 GetSystemMetrics (SM_CXVIRTUALSCREEN) 返回'bad'值?
- 将 lambda 传递给 STL 集时出错"bad function call"
- 新的 C++14 位分隔符处"Bad Character" Eclipse Oxygen 错误
- 使用 #define 被认为是"bad practice"吗?
- "400 Bad request"使用 OpenSSL BIO 进行请求时
- 解密文件AES_256_CBC返回"bad decrypt"错误
- 在C++流中,eof(),fail(),bad()和good()有什么区别
- make / gcc:"bad build"的可能原因是什么?
- 什么是地址0xbaddc0dedeadbead "Bad decode dead bead"
- 在多线程环境中,什么可能导致"bad file descriptor"?
- "std::vector"在调整大小时引发"bad allocation"异常
- 尝试使用 execp、dup2 和管道实现 shell,挂起或"bad file descriptor"
- OpenCV SVM 在火车上抛出异常,"Bad argument (There is only a single class)"
- 成员函数 bad() 的 std::ftsream 用于检查
- 使用 boost::asio 和 boost::thread 时"Bad file descriptor"
- OpenCV C++神经网络 predict() 函数抛出"Bad argument"错误