问题

有以下程序

fun(int x)

{ int p;

if(x==0||x==1) return(3);

p=x-fun(x-2);

return p;

}

main()

{ printf("%d\n",fun(7)); }

执行后的输出结果是

A)7

B)3

C)2

D)0

参考答案
您可能感兴趣的试题
  • 在 16 位编译系统上,若有定义 int a[]={10,20,30}, *p=&a; ,当执行 p++; 后,下列说法错误的是A)p 向高地址移了一个字节B)p 向高地址移了一个存储单元C)p 向高
  • 有以下程序main(){ int a=1,b=3,c=5;int *p1=&a, *p2=&b, *p=&c;*p =*p1*(*p2);printf(%d\n,c);}执行后的输出结果是A)1B
  • 若有定义: int w[3][5]; ,则以下不能正确表示该数组元素的表达式是A)*(*w+3)B)*(w+1)[4]C)*(*(w+1))D)*(&w[0][0]+1)
  • 若有以下函数首部int fun(double x[10], int *n)则下面针对此函数的函数声明语句中正确的是A)int fun(double x, int *n);B)int fun(doubl
  • 若有定义语句: int k[2][3],*pk[3]; , 则以下语句中正确的是A ) pk=k;B ) pk[0]=&k[1][2];C ) pk=k[0];D ) pk[1]=k;
  • 有以下程序void change(int k[ ]){ k[0]=k[5];}main(){ int x[10]={1,2,3,4,5,6,7,8,9,10},n=0;while( n<=4 ) {