参照如下:
#include <stdio.h>
#include <stdlib.h>
//任一数的阶乘实现
int getJc (int i)
{
int data;
if (i >= 17){ //使用越界提示属于加分项;
printf("越界\n"); //最大支持计算到int(32位)的边界:2^32=4,294,967,296;
exit(-1); //代表函数异常退出,且使用exit需要include <stdlib.h>才能使用;
}
data = i == 1 ? 1 : i * getJc(i-1);
return data;
}
int main()
{
int num;
int jc;
printf("请输入要查询阶乘的数字:\n");
scanf("%d",&num);
jc = getJc (num);
printf("数字%d 的阶乘为:%d\n",num,jc);
return 0;
}
打印展示: