C程序编写输入五个字符,运行结果输出逆序的这5个字符,例如:输入abcde,输出edcba,必须用到函数的递归法
#include "stdio。h"
void reverse(char *p)
{
char ch=*p;
if(ch) /*循环条件*/
{
reverse(++p);
printf("%c",ch);
}
}
int main()
{
char line[81]={'a','b','c'}; /*初始化*/
char *ptr;
ptr=line; /*数组的头结点付给指针变量*/
reverse(ptr); /*调用函数*/
return 0;
}
这是我仿dongfang7585。 写的程序
一开始我读这个程序也以为是输出最...全部
#include "stdio。h"
void reverse(char *p)
{
char ch=*p;
if(ch) /*循环条件*/
{
reverse(++p);
printf("%c",ch);
}
}
int main()
{
char line[81]={'a','b','c'}; /*初始化*/
char *ptr;
ptr=line; /*数组的头结点付给指针变量*/
reverse(ptr); /*调用函数*/
return 0;
}
这是我仿dongfang7585。
写的程序
一开始我读这个程序也以为是输出最后一个字符
但运行结果是:
cba
后来想明白了
每次++p后面的printf("%c",ch);都要执行
当循环条件不满足时(p指向c后面的结束符)开始执行
首先输出c
然后回到上一层循环 输出b
再回到上一层 输出a。
收起