class RecTest
{
int values[];
RecTest(int i)
{
values=new int[i];
}
void pray(int i)
{
if (i==0) return;
else
{
System.out.println(+values[i-1]);
pray(i-1);
}
}
}
class aka
{
public static void main(String h[])
{
RecTest ob=new RecTest(10);
int i;
for(i=0;i<10;i++)
ob.values[i]=i;
ob.pray(10);
}
}
该程序运行良好,它按降序打印 9,8,7,6,5,4,3,2,1,0。但是当我交换 System.out.println(+values[i-1]) 和 gray(i-1) 语句时,它会按升序打印 0 到 9。
有人可以解释一下为什么会这样吗?
我就是想不通。Source-Java-2,完整参考,第 5 版,第 171 页