目录: 标题| 题干| 答案| 搜索| 相关
问题

下列程序的输出结果是( )。 #include<stdio.h> int f


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

  • A2
  • B8
  • C9
  • D5
参考答案
参考解析:

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

分类:其他
相关推荐

1、以下程序的输出结果是#include <stdio.h>main

以下程序的输出结果是#include <stdio.h>main(){ int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf("%d,%dn",a,b);}A.6,1 B.6,0 C.2,1 D.2,0A6,1 B6,0 C2,1 D2,0

2、下列程序的运行结果是( )。 #include<stdio.h> #incl

下列程序的运行结果是( )。 #include<stdio.h> #include<string.h> main() { char*s1="abDuj"; char*s2="ABdUG"; int t; t=strcmp(s1,s2); printf("%d",t); }A正数B负数C零D不确定的值

3、以下程序的输出结果是______。 #include<stdio.h> #i

以下程序的输出结果是______。 #include<stdio.h> #include<string.h> fun(char*w,int n) { char t,*s1,*s2; s1=w;s2=w+n-1; while(s1<s2) { t=*s1++; *s1=*s...

4、以下程序的输出结果是_______。 #include<stdio.h> v

以下程序的输出结果是_______。 #include<stdio.h> void prt(int*x,int*y,int*z) { printf("%d,%d,%d ",++*x,++*y,*(z++));} int a=10,b=40, c=20; main() { ...

5、下列程序的输出结果是( )。 #include<iostream> usin

下列程序的输出结果是( )。 #include<iostream> using namespace std; class TestClass{ static int i; public: TestClass(){i++;} ~TestClass(){i--;} static int getVal(){retum i;} }; int TestClass∷i=0; voiA111B121C211D221

6、下列程序段的输出结果为( )。 #include<stdio.h> main

下列程序段的输出结果为( )。 #include<stdio.h> main() { static char a[]="language"; char *p; p=a; for(p=a;p<a+8;p+=2) putchar(*p); }AlanguageBlnugC有语法错误Dlang