这个题咋做呀,可以解释一下吗

以下程序运行后的输出结果是(). 

 

#include<stdio.h>

 

fun(int h); 

 

int main() 

 

{

 

int t=1;

 

fun(fun(t));

 

return 0;

 

 

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]; 

 

}

#include<stdio.h>
int fun(int h);
int main()
{
	int t=1;
	int temp=fun(t);
	printf("temp=%d",temp);
	fun(temp);
	return 0;
}
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];
}

我把代码做了一个拆分,这样你就看的更加清楚是咋回事了。

运行结果如上,万望采纳。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632