我正在尝试创建稍后在程序中调用的函数,这些函数本质上将执行稍后需要的操作。我调用了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);
}
谢谢大家的帮助。我将返回部分移至大括号的末尾并更改了变量名。我的代码现在看起来像:
int summation(int a)
{
int n = a, sum = 0;
for (int i = 1; i <= n; ++i)
{
sum += i;
}
return sum;
}
它完全按照我的要求运行。我对我的阶乘函数应用了相同的格式,它也可以正常工作。