6_2_3.C
上传用户:wyn840322
上传日期:2007-01-13
资源大小:294k
文件大小:1k
- /* ======================================== */
- /* 程式实例: 6_2_3.c */
- /* 递归阶乘函数来说明递归内部处理 */
- /* ======================================== */
- /* ---------------------------------------- */
- /* 递归阶乘函数 */
- /* ---------------------------------------- */
- int factrial(int j)
- {
- int sum = 0; /* 阶乘总和变数 */
- int temp = 0; /* 阶乘总和暂存变数 */
- if ( j == 0 ) /* 终止条件 */
- {
- sum = 1;
- printf("到达终止条件(j = 0)n");
- }
- else
- {
- printf("从函数factrial(%d)调用前的状态: sum = %dn",
- j, sum);
- temp = factrial(j - 1); /* 递归阶乘函数调用 */
- printf("返回函数factrial(%d)后的状态: sum = %dn",
- j, sum);
- sum = j * temp; /* 计算j!的值 */
- printf(" ==> 在计算%d!阶乘后的状态: sum = %dn",
- j, sum);
- }
- return sum;
- }
- /* ---------------------------------------- */
- /* 主程式: 计算整数 4 的阶乘. */
- /* ---------------------------------------- */
- void main()
- {
- printf("4! = %dn",factrial(4)); /* 递归阶乘函数调用 */
- }