问题 单项选择题

以下程序的输出结果是______。
long fun(int n)
long s;
if(n==1||n==2) s=2;
else s=n-fun(n-1);
return s;
main()
printf("%1d\n",fun(3));

A) 1
B) 2
C) 3
D) 4

答案

参考答案:A

解析: 本题两次执行fun函数,第一次执行得f(3)=s=n-f(n-1)=3-f(2):第二次执行得s=2,通过传递返回值f(2)=2,所以s=3-2=1,即f(3)=1。

单项选择题
单项选择题