首页 > 解决方案 > 如何修复由我尝试调用的求和函数引起的分段错误?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;
        }
    }
}

任何帮助或建议将不胜感激。我可以提供任何其他需要的信息,谢谢。

标签: c++

解决方案


您的函数有一个 return 语句作为它的第一行。没有其他任何东西被执行。所以你有无限递归。就好像函数是:

int summ(int a)
   return summ(a);
}

推荐阅读