下列程序的运行结果是______。 main() { int i,a[10]; a[0]=a[1]=1; for(i=2;i<5;i++) a[i]=a[i-2]+a[i-1]; for(i=0;i<5;i++) { if(i%2==0)print

admin2010-12-10  27

问题 下列程序的运行结果是______。
main()
{    int i,a[10];
a[0]=a[1]=1;
for(i=2;i<5;i++)
a=a[i-2]+a[i-1];
for(i=0;i<5;i++)
{  if(i%2==0)printf("\n");
printf("%d",a);
}
}

选项 A、4

答案

解析  本题考查函数的递归调用。在主函数中第1次调用子函数是调用的fun(11),返回11-fun(9);第2次调用子函数是调用的fun(9),返回9-fun(7);第3次调用子函数是调用的fun(7),返回7-fun(5);第4次调用于函数是调用的fun(5),返回5-fun(3);第5次调用子函数是调用的fun(3),返回3-fun(1);第6次调用子函数是调用的fun(1),返回3。总的返回值是:11-(9-(7-(5-(3-3))))=4。
转载请注明原文地址:https://kaotiyun.com/show/VLPp777K
0

最新回复(0)