c语言,江湖救急一下。 看不明白这个程序的意思

来源:百度知道 编辑:UC知道 时间:2024/06/17 22:07:58
解释大家帮个忙
1.int test(int a)
{
int b=3;
static int c=4;
++a;++b;c++;
return a+b+c;

}
void main()
{
int i;
printf("\n");
for(i=2;i<5;i++)
printf("%4d",test(i));
}

2.#include "stdio.h"
int f(int n)
{
if(n==1||n==0) return 1;
else return 3*f(n-2)+2*f(n-1);
}
void main()
{
printf("%4d",f(5));
}
就是解释一下这两个程序是怎么运算的 .#include "stdio.h" 比如是头函数
int f(int n) 是什么
if(n==1||n==0) return 1; 是什么意思 等等以此类推
帮个忙啊 要是好都加分

int f(int n) 定义一个函数,名为f 返回值为整型
if(n==1||n==0) return 1 如果n=1或n=0,函数返回值为1

第一个实例是演示静态变量的特点,它的生命期与程序等长,但是只在定义它的那个函数内部有效,即每运行一次该函数,c的值会保留下来。第二个例子则是一个递归调用,无论给一个多大的n,通过递归,它的值递减,总能运行到if判断语句,这时递归结束。给一点建议,楼主应该把握程序的思想,也就是说,搞明白程序的原理。而语法上的东西,找一本c++的书,完全能看懂的,不要因小失大啊。

o(∩_∩)o...