永发信息网

递归函数为什么不能return

答案:2  悬赏:70  手机版
解决时间 2021-12-03 18:01
  • 提问者网友:暗中人
  • 2021-12-02 23:18
public static int efdg(int a[], int tag,int start,int end) {
int middle = (start+end)/2;
if (tag==a[middle]) {
return middle;
}
if (tag>a[middle]) {
efdg(a, tag, middle+1, end);
}
if (tag efdg(a, tag, start, middle-1);
}
return middle;
}

public static void main(String[] args) {
int a[] = {1,2,3,4,5,6,7,8,9};

System.out.println(efdg(a,3,0,9));
}
最佳答案
  • 五星知识达人网友:琴狂剑也妄
  • 2021-08-31 15:40
这个直接看return所在的位置,还有就是怎样会进行递归,当不满足递归条件时,在这最后的那个return就是整个函数的出口,否则就只是终结前一递归
全部回答
  • 1楼网友:独钓一江月
  • 2020-10-08 22:31
理论上肯定不允许的,因为内联函数本意就是不定义函数,而是在你用的时候展开,因为嵌套,所以不可以展开。 实际上,编译器可以直接忽略inline的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯