确实,不过倒是没有溢出,unicorn说的是对的, 只是计算了后两项和......

boolean ? expA:expB;
的意思也就是
当boolean是true的时候,执行expA,当boolean为false的时候执行expB,就样子的,也就相当 于一个 if else语句
if(boolean){
expA;
}else{
expB;
}
这个不是很简单吗?
public int sum(int a[],int n)
{
return n>0?(sum(a,n-1)+a[n-1]):0
}
这是一个三目运算符加一个简单的递归了
相当于:
if(n>0)
{
int sum=0;
if (n>0)
{
for(int i=0;i<n;i++)
{
sum=sum+a[i];
}
return sum;
}
else
{
return 0;
}
}