這裏使用Java,遞減運算符是一個遞歸funtion -在遞歸函數
private void printVar01(int t){
if(t != 0){
logp.info("o: "+t);
printVar01(t-1);
}
}
相同funtion有輕微的修改 -
private void printVar02(int t){
if(t != 0){
logp.info("o: "+t);
printVar02(t--);
}
}
如果我通過像4,printVar01作品整數值如預期的那樣,在連續的recrsive調用中t遞減到0,最終導致程序退出。
使用printVar02,t值爲4.
爲什麼?我假設這與變量賦值和/或值如何傳遞給函數有關。
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/op1.html –
是的,我應該讀過那個文檔兩次:)。此外 - http:// stackoverflow。com/questions/484462 /在i-and-i-in-a-loop中的差異 –