下面程序的运行结果是______。 int f( int a[], int n) { if(n>1) return a[0]+f(&a[1],n-1); else return a[0]; { main (

admin2009-01-15  32

问题 下面程序的运行结果是______。
   int f(  int a[],  int  n)
   {  if(n>1)  return  a[0]+f(&a[1],n-1);
      else return a[0];
   {
   main  ()
   {  int aa[3]={1,2.3},s;
      s=f(&aa[0],3);
      printf("%d\n",s);
   }

选项

答案6

解析 经过分析将递归函数写成其数学表达式如下:
   f(&a,n)=a[0]+f(&a[1],n-1)    n>1
   f(&a,n)=a[0]    n=1
   本题中定义了一个长度为3的数组aa并初始化。接着调用递归函数f,由上面的数学表达式以计算其返回值s=1+2+3=6,所以空格处应该填6。
转载请注明原文地址:https://jikaoti.com/ti/5bK0FFFM
0

相关试题推荐
最新回复(0)