问题 填空题

下列程序的输出结果是______。 #include<stdio.h> int fun(int x) { int p; if(x==0‖x==1) return 3; else p=x-fun(x-2) ; return p; } void main() { printf("\n%d",fun(11));

答案

参考答案:D

解析: 本题考查函数的递归调用。在主函数中第1次调用子函数是调用的fun(11),返回11-fun(9):第2次调用子函数是调用的fun(9),返回9-tim(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。

问答题 简答题
问答题 简答题