代码问题在代码中已说明,菜鸟目前还解决不了哈O(∩……∩)O。。。但勉强实现功能
/*初学C语言,有不足还请指正*/
#include<stdio.h>
#include"math.h"
#include"conio.h"
/***********static变量和auto变量**************/
int jiechen(int i)
{
static int a = 0;
static int f = 1; //静态变量 保存上一次的值。不会在子函数调时初始化f.
f = f * i;
return f;
}
void jishu()
{
static int a = 0; //静态
a++;
printf("\n程序执行了%d次---->static变量值\n", a);
}
void jishu2()
{
int a = 0; //动态
a++;
printf("\n程序执行了%d次---->auto变量值\n", a);
}
int main()
{
while (1)
{
int i = 0;
int x = 0;
int long c = 0;
printf("\nplease input a number:");
scanf_s("%d", &x);
for (i = 1; i <= x; i++)
{
c = jiechen(i);
}
printf("%d的阶乘是%d(除第一项结果其余结果不正确,目的是为了证明下两行数据。)", x, c);
jishu();
jishu2();
}
}