Chinaunix首页 | 论坛 | 博客
  • 博客访问: 863769
  • 博文数量: 286
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1841
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-09 16:26
文章分类

全部博文(286)

文章存档

2016年(38)

2015年(248)

我的朋友

分类: LINUX

2015-07-19 22:18:11

程序:

点击(此处)折叠或打开

  1. #include<stdio.h>

  2. void reverse(char *p)
  3. {
  4.     if( *p =='\0' )
  5.         return;
  6.     reverse( p+1 );
  7.     printf( "%c", *p );
  8. }

  9. int main()
  10. {
  11.     reverse("abc");//cba
  12.     
  13.     printf("\n");
  14.     return 0;
结果:
cba

分析:
该程序定义了一个递归函数(函数直接或间接的调用函数本身)
在reverse()函数中,参数是从右到左传入压入栈,所以先压的是 c ,接着reverse( p+1 );使指针指向下一个,输出刚压的参数

阅读(749) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~