输出1到5的阶乘值。自定义一个函数fac,在主函数中对1~5循环时调用此函数fac。fac函数中使用局部静态变量,用来存放上次调用结束时的值,此变量初值只赋值一次。
#include<stdio.h>
int fac(int i);
int main(void)
{
printf("Factorial values from 1 to 5:\n");
for (int i = 1; i <= 5; i++)
printf("%d!=%d\n",i,fac(i));
return 0;
}
int fac(int i)
{
static int data = 1;
data = data * i;
return data;
}
测试结果: