#include fun (char *a) {if (*a) {fun(a+1); printf("%c",*a);
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/21 10:30:30
#include fun (char *a) {if (*a) {fun(a+1); printf("%c",*a); } } main() {char s[10]="abcd
#include
fun (char *a)
{if (*a)
{fun(a+1);
printf("%c",*a);
}
}
main()
{char s[10]="abcd";
printf("处理前字符串=%s\n处理后字符串=",s);
fun(s); printf("\n");
}
这是一个实现倒叙输出字符串的,如abcd,输出dcba!
fun (char *a)
{if (*a)
{fun(a+1);
printf("%c",*a);
}
这是怎么实现的,fun(a+1)是什么意思?
#include
fun (char *a)
{if (*a)
{fun(a+1);
printf("%c",*a);
}
}
main()
{char s[10]="abcd";
printf("处理前字符串=%s\n处理后字符串=",s);
fun(s); printf("\n");
}
这是一个实现倒叙输出字符串的,如abcd,输出dcba!
fun (char *a)
{if (*a)
{fun(a+1);
printf("%c",*a);
}
这是怎么实现的,fun(a+1)是什么意思?
fun(a+1)是递归调用的,fun(char *a)定义形参为指针变量,当执行fun(a)时,把a的地址传入,
当执行fun(a+1)是把a的地址加一个char大小.
你的调用fun()函数后执行的是:
abcd
把a地址给fun,然后判断字符是否为'\0’,不为的话
把字符串下一个b地址给fun,如此判断……
知道d的地址传完后,把'\0'传到fun判断成立不再递归了,接着就是返回到printf语句了
记着,这里是从后开始,第一个输出就是d,接着依次是c,b,a.然后结束
这是一个很简单的递归调用.
写个简单例子给你:
int fun(int n)
{
if(n
当执行fun(a+1)是把a的地址加一个char大小.
你的调用fun()函数后执行的是:
abcd
把a地址给fun,然后判断字符是否为'\0’,不为的话
把字符串下一个b地址给fun,如此判断……
知道d的地址传完后,把'\0'传到fun判断成立不再递归了,接着就是返回到printf语句了
记着,这里是从后开始,第一个输出就是d,接着依次是c,b,a.然后结束
这是一个很简单的递归调用.
写个简单例子给你:
int fun(int n)
{
if(n
#include fun (char *a) {if (*a) {fun(a+1); printf("%c",*a);
#include void fun(char c) {if(c>'x') fun(c-1); printf("%c",c
#include void fun(char *a,char *b) { while(*a=='*')a++; whil
#include #include // void fun(int a,int b,int c
C++程序阅读题#include using namespace std;void fun(int n,char a,c
fun(char*a,char *b,char *c){while(*a&&*b){*c=*a; c++; a++;*c
#include int fun(int a,int b,int c) { if(a+b>c && b+c>a && a
#include main() { unsigned char a=8,c; c=a>>3; printf("%d\n"
#include main() {char ch; ch='A'+'5'-'3'; printf("%d,%c\n",c
#include int fun(inta,intb,intc) {c=a*b} main() {intc; fun(2
void fun (char *a,char *b) {a=b} void main() {char c1='A',c2
void main() {char *a="abcdefgh"; fun(a); puts(a); } void fun