以下程序的输出结果是( )。 int fun(int*x,int n) {if(n==0) return x[0]; else return x[0]+fun(x+1,n-1); } main() {int a

admin2011-06-10  30

问题 以下程序的输出结果是(       )。
  int fun(int*x,int n)
  {if(n==0)
  return x[0];
   else return x[0]+fun(x+1,n-1);
   }
   main()
  {int a[]={1,2,3,4,5,6,7};
  printf("%d\n",fun(a,3));
   }

选项

答案10

解析 实参中a将数组元素的首地址传递给形参x,将3传递给形参n,调用函数fun(),当n=3时不满足if语句条件,执行else语句,递归调用函数fun(),改变x[0]的值。直到满足if条件把x[0]值返回,最后输出。函数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第0列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中其他数据不变。
转载请注明原文地址:https://jikaoti.com/ti/6fB0FFFM
0

最新回复(0)