标题:请大家帮我解释一下这段代码是如何递归调用字符串反向显示的?
只看楼主
ycxdtdz
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2011-5-31
结帖率:81.82%
 问题点数:0 回复次数:2 
请大家帮我解释一下这段代码是如何递归调用字符串反向显示的?
#include<stdio.h> #include<string.h>                           /*strcpy()等库函数所在的头文件 */
void reversedisplay(char[],int no);          /*函数的声明*/
void main(){ int index=0;                             /*显示字符的当前位置 */
char string[81]; strcpy(string,"this is a c program.");
 reversedisplay(string,index);          /*调用反向显示字符串函数 */
}void reversedisplay(char s[],int no)         /*函数的声明 */
{ if(s[no])                              /*遇到 0\字符 时显示结束 */
 {  reversedisplay(s,no+1);              /*递归调用 */
 printf("%c",s[no]);                 /*反向显示字符串的每个字符 */ }}

如果执行到字符串的结束标志,IF语句不是结束整个函数运行了,怎么还能对字符串反向显示?
搜索更多相关主题的帖子: void include 字符串 如何 
2013-04-13 16:44
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
C的源代码可以不用敲回车的,一行接下去也行,这样更紧凑。

授人以渔,不授人以鱼。
2013-04-13 17:57
YJ_Hao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:215
专家分:609
注 册:2013-3-22
得分:0 
LZ了解递归吗?
了解了就没有这问题了!
2013-04-13 19:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-404089-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.085538 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved