回答編集履歴
2
誤字訂正
    
        answer	
    CHANGED
    
    | 
         @@ -3,5 +3,5 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
              toatal(3 + total(2 + total(1 + total(0))))
         
     | 
| 
       4 
4 
     | 
    
         
             
            total(0)=0なので、
         
     | 
| 
       5 
5 
     | 
    
         
             
             答は、6です。
         
     | 
| 
       6 
     | 
    
         
            -
            機械語レベルで、各関数の作業場所の先頭番地がLIFO方式でスタックされて、n=0まで行くわけです。そして、n=0のときに跳ね返ることが許さ 
     | 
| 
      
 6 
     | 
    
         
            +
            機械語レベルで、各関数の作業場所の先頭番地がLIFO方式でスタックされて、n=0まで行くわけです。そして、n=0のときに跳ね返ることが許されて、スタックがほどかれていき、答が決まります。
         
     | 
| 
       7 
7 
     | 
    
         
             
            したがって、お考えのように無限ループ的に各関数がスタックを重ねていけば、メモリーオーバーも起こりえますが、if n < 0: がない場合、スタックオーバーフローエラーで停止するのです。
         
     | 
1
誤字訂正
    
        answer	
    CHANGED
    
    | 
         @@ -3,5 +3,5 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
              toatal(3 + total(2 + total(1 + total(0))))
         
     | 
| 
       4 
4 
     | 
    
         
             
            total(0)=0なので、
         
     | 
| 
       5 
5 
     | 
    
         
             
             答は、6です。
         
     | 
| 
       6 
     | 
    
         
            -
            機械語レベルで、各関数の作業場所の先頭番地がLIFO方式でスタックされて、n=0まで行くわけです。そして、n=0のときに跳ね返ることが許させて、スタックがほど 
     | 
| 
      
 6 
     | 
    
         
            +
            機械語レベルで、各関数の作業場所の先頭番地がLIFO方式でスタックされて、n=0まで行くわけです。そして、n=0のときに跳ね返ることが許させて、スタックがほどかれていき、答が決まります。
         
     | 
| 
       7 
7 
     | 
    
         
             
            したがって、お考えのように無限ループ的に各関数がスタックを重ねていけば、メモリーオーバーも起こりえますが、if n < 0: がない場合、スタックオーバーフローエラーで停止するのです。
         
     |