c++ - 如何修复由我尝试调用的求和函数引起的分段错误?C++
问题描述
我正在尝试创建稍后在程序中调用的函数,这些函数基本上将执行我稍后需要的操作。我有 9 个函数被调用,包括:加法、减法、乘法、除法、模数、平方根、绝对值、幂和求和。对于前 8 个操作,我将模块更改为函数没有问题。但是,由于 C++ 中没有用于求和的符号,我在尝试将其模块转换为函数时遇到了问题,该程序允许我运行它,如果我运行所有其他操作,它很好,但只要我尝试调用我的求和函数我得到一个分段错误。我的代码如下所示:
//summation function
int summ(int a)
{
return summ(a);
{
int summ=0;
int n=a;
for (summ=0; summ<n; summ++)
{
summ += summ;
}
}
}
任何帮助或建议将不胜感激。我可以提供任何其他需要的信息,谢谢。
解决方案
您的函数有一个 return 语句作为它的第一行。没有其他任何东西被执行。所以你有无限递归。就好像函数是:
int summ(int a)
return summ(a);
}
推荐阅读
- css - 新手希望制作这种时尚的鼠标悬停效果
- android - Apache HTTP 库在 API 27 中不起作用
- elasticsearch - 使用子聚合桶问题的 KIBANA 拆分条形图
- python - Python程序用户定义函数
- sql - Powershell WQL 查询 (SCCM) 如何在两个 WHERE 上进行过滤?
- angular-cli - angular 5 应用程序正在边缘工作,但在 ie11 上失败
- excel - 忽略使用“与”的 IF 语句中的空白单元格
- java - 无法在 Android 中推断 ArrayAdapter<> 的类型参数
- java - 通过 tomcat 服务器运行时找不到数据库驱动程序:org.h2.Driver
- javascript - SQL Server 中的间距文本无法匹配