C程序字符串算法2008 2 22

来源:百度知道 编辑:UC知道 时间:2024/06/03 03:37:44
请哪位高手看一下这个程序,将字符串倒置abcd变dcba,fun函数是如何实现的
#include <stdio.h>
/*************found**************/
void fun(char *a)
{ if(*a)
{
fun(a+1);
printf("&c",*a);
}
}
main()
{ char s[10]="abcd";
printf("处理前字符串=%s\n处理后字符串=",s);
fun(s);
printf("\n");
}

其实,fun函数是一个递归调用函数!
递归调用,指在调用一个函数的过程中又直接或间接调用了该函数本身.
void fun(char *a)
{ if(*a)/*当括号内的值不是0的时候,就执行以下语句*/
{
fun(a+1);/*在这fun括号内的a+1如果还不是0,又再去调用fun函数自身*/
/*直到fun括号内为0,才返回.返回的时候,开始执行下面这个语句*/
printf("&c",*a); /*从最后一个字母开始显示,直到返回结束*/
}
}

/*如果LZ了解了什么是递归调用,这个问题就不是问题了!*/