1203081549 发表于 2023-2-26 14:09:51

函数递归调用

int f(int a[] ,int n)
      {
            if(n>1)
            return a+f(&a,n-1);
            else return a;
      }
      int aa={1,2,3},s;
            s=f(&aa,3);
            printf("%d\n",s);
答案是6,不太懂运行逻辑

灰色的天空 发表于 2023-2-26 14:34:11

调用关系就是a+f(&a,n-1),第一次加上aa ,第二次传入的数组指针是第一次第一个元素的指针,所以第二次的a相当于aa ,第三次传入第二次数组指针的第一个元素相当于aa
页: [1]
查看完整版本: 函数递归调用