定义一个函数递归函数 long f (int n) 求n!,并利用此函数,求出sum=4!+6!+7!的
#include <stdio.h>
long f(int n)
{
return n == 0 ? 1: n*f(n-1);
}
int main(void)
{
printf("%ld\n", f(4) + f(6) + 7);
return 0;
}
扩展资料
C语言的运算符主要用于构成表达式,同一个符号在不同的表达式中,其作用并不一致。下面按计算的优先顺序,分别说明不同作用的表达式。需要特别指出,在C语言标准中,并没有结合性的说法。
相同优先级运算符,从左至右依次运算。注意后缀运算优先级高于前缀。因此++i++应解释为++(i++)。
而与或非的运算优先级都不一样,因此a && b || b && c解释为(a && b) || (b && c)
合理使用优先级可以极大简化表达式。
#include <stdio.h>
long f(int n)
{
return n == 0 ? 1: n*f(n-1);
}
int main(void)
{
printf("%ld\n", f(4) + f(6) + 7);
return 0;
}
扩展资料:
编程语言中,函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数。递归函数不能定义为内联函数。
在数学上,关于递归函数的定义如下:对于某一函数f(x),其定义域是集合A,那么若对于A集合中的某一个值X0,其函数值f(x0)由f(f(x0))决定,那么就称f(x)为递归函数。
参考资料来源:百度百科-递归函数