【发布时间】:2021-07-15 02:55:10
【问题描述】:
class myclass {
static int fun(int a[],int n){
int x;
if(n == 1){
return a[0];
}
else{
x = fun(a, n-1);
if(x > a[n-1])
return x;
else
return a[n-1];
}
}
public static void main(String[] args){
int arr[] = {12, 10, 30, 50, 100};
System.out.println(fun(arr, 5));}
}
为什么输出是 100 而不是 12 。我不明白为什么当 n 的值为 1 时最后一次递归调用,它会阻塞 else 而不是 if 。
【问题讨论】:
-
如果你在逻辑上缩进你的代码,那么任何人都更有可能弄清楚它应该做什么。
-
这位先生是新人,为什么有人要投票给他,这似乎没有必要。 SO 说他们想让这个地方对新来的人更友好,所以请保持友善或至少有建设性。