私は以下のこのコードをステップ実行していましたが、理解できない部分は、n 値が 2、5、および 10 になる方法を理解していません。 else 部分に (0%2) を出力します。その後、プログラムを停止するべきではありませんか?
void fun2(int n){
System.out.println("Entering"+n);
if(n==0)
return;
else{
fun2(n/2);
System.out.print("Leaving"+n+"---->");
System.out.println(n%2);
}
}
出力:
Entering5
Entering2
Entering1
Entering0
Leaving1---->1
Leaving2---->0
Leaving5---->1
Leaving10---->0