问题 单项选择题

下列程序的输出结果是( )。

#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(5) );

A) 5
B) 3
C) 7
D) 1

答案

参考答案:A

解析: 本题考查函数的递归调用。在函数递归调用时,fun(5):a=5-fun(3)->fun3:a=3-fun(1)->fun(1):a=3,反推回去fun(3):a=3-3=O->fun(5):a=5-0=5,最后的计算结果为 5。

填空题
选择题