tap4fun招聘:C程序题 看看解答下

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 13:40:13
有如下程序
main()
{ int x=23;
do
{ printf(“%d”,x--);}
while(!x);
}
该程序的执行结果是( B )
A) 321 B) 23 C) 不输出任何内容 D) 陷入死循环

有如下程序
long fib(int n)
{ if(n>2) return(fib(n-1)+fib(n-2));
else return(2);
}
main()
{ printf(“%d\n”,fib(3));
该程序的输出结果是( B )
A 2 B 4 C 6 D 8

详细说明下 嘿嘿 为什么

printf(“%d”,x--);=====23
exit.

fib(2)+fit(1)
fib(n),n<=2,so return fib(2)=2,fib(1)=2
so,fib(3)=2+2=4

第二题: fib(3)=fib(3-1)+fib(3-2)=2+2=4
第一题不懂。。

第一题

首先执行printf(“%d”,x--);
当然是23

然后判断(!x) 为假 即跳出循环

所以结果为B