/********************************************************************
    created:    2005/12/23
    created:    23:12:2005   10:22
    filename:     sum.c
    author:        Liu Qi
    
    purpose:    递归求和:1+2+3++N
********************************************************************
*/



#include 
<stdio.h>


#define N 100


/*===========================================================================
* Function name:    sum
* Parameter:        n:
* Precondition:        void
* Description:        递归求和:1+2+3++N
* Return value:        总和
* Author:            Liu Qi,  [12/23/2005]
===========================================================================
*/

int sum(unsigned int n)
{
    
if ( n == 0)    //递归出口
    {
        
return 0;
    }

    
else
    
{
        
return n + sum( n -1 );
    }

}


int main(int argc, char *argv[])
{
    printf(
"sum is: %d \n", sum(N));

    
return 0;
}


代码很简单,纯粹是希望加深自己对递归的理解,如果有bug请联系ngaut#126.com,将#改为@