c语言中fac是什么意思

Python012

c语言中fac是什么意思,第1张

一般用fac表示阶乘函数,这个不在库函数里面,需要自己定义:

#include<stdio.h>

int fac(int n)

{

if(n==1 || n==0)

{

return 1

}

else

{

return n*fac(n-1)

}

}

void main()

{

int a,b

printf("fac(0)=%d\n",fac(1))

printf("fac(2)=%d\n",fac(2))

printf("fac(3)=%d\n",fac(3))

return

}

#include <stdio.h>

//在使用前要先对函数进行声明 

long fac(int)

int main(void)

{

int n

long ff

scanf("%d",&n) 

ff = fac(n)

printf("%d!=%d\n",n,ff)

return 0

}

//这里就是fac() 

long fac(int x)

{

long f

if(x == 0 || x== 1)

f = 1

else

//这里又调用了fac()自己,叫做递归调用

//每次调用时都是将x-1赋给下一个fac()

f = fac(x-1) * x

//return会把值返回到调用它的函数中去 

return f

}

//主要是要理解这个递归的过程 

//假设输入的是3,过程是这样的:

fac 是指一个返回类型为double型的函数,它需要一个整形参数(看你程序里fac的定义)。这里在main()函数里的fac(i)是对这个函数的调用,即:赋给它所需的一个整形变量i作为其参数,使之用来进行fac内部的运算。

要注意的的是,fac定义时内部的i是它内部的参数(局部的变量),它的作用范围仅限在fac内部。而现在在main()中,我们赋给fac()一个名为i的整型量,它只会将它的值给fac中的n来参与fac的运算。

其实n只是一个形式上的参数它的作用范围也仅限在fac中,但是既然把它放在fac(int n)里就赋予它一个使命将main()中给fac()的参数传入fac()中,从而完成fac()的调用。