void main()
{int t=1;fun(fun(t));}
fun(int h)
{static int a[3]={1,2,3};
int k;
for(k=0;k<3;k++) a[k]+=a[k]-h;
for(k=0;k<3;k++) printf("%d",a[k]);
printf("\n");return(a[h]);
}这个答案是1 3 5 -1 3 7
能把a[k]+=a[k]-h;中h怎么算 return(a[h]);返回值是多少告诉我吗,我还是初学者 得出答案的过程详细的
谢谢了
#include
int fun(int h);
void main()
{
int t = 1;
fun(fun(t));
}
int fun(int h)
{
static int a[3] = { 1, 2, 3 };
int k;
for (k = 0; k < 3; k++)
a[k] += a[k] - h;
for (k = 0; k < 3; k++)
printf("%d", a[k]);
printf("\n");
return(a[h]);
}
/*
先计算f(1)
h=1;
k=0时
a[k] += a[k] - h;
既是啊a[0] += a[0] -1;
则a[0] = 1;
a[3] = { 1, 2, 3 };
k=1时
a[1] += a[1] -1;
则a[1] = 3;
a[3] = { 1, 3, 3 };
k=2时
a[2] += a[2] -1
a[2] = 5;
a[3] = { 1, 3, 5 };
输出a[0]=1, a[1] =3, a[2]=5
返回a[1] = 3;
*/
h=3同样的道理,但是a[3] = { 1, 3, 5 };保存了