C语言 递归倒序输出字符串
#include<stdio.h>voidf(){charch;if((ch=getchar())!='\n')f();if(ch!='\n')printf("%c",c...
#include<stdio.h>
void f()
{
char ch;
if((ch = getchar())!='\n')
f();
if(ch!='\n')
printf("%c", ch);
}
void main()
{
f();
printf("\n");
}
高手解释一下程序,C语言初学者不懂额 展开
void f()
{
char ch;
if((ch = getchar())!='\n')
f();
if(ch!='\n')
printf("%c", ch);
}
void main()
{
f();
printf("\n");
}
高手解释一下程序,C语言初学者不懂额 展开
1个回答
展开全部
#include<stdio.h>
void f()
{
char ch;
if((ch = getchar())!='\n')
f();
if(ch!='\n') printf("%c", ch); //这个输出语句是写在了递归调用之后,会被压栈,先压栈的后输出,所以可以实现逆序输出,如果把这个语句移动到f();就不会压栈了
}
void main()
{
f();
printf("\n");
追问
void main()
{
f();
printf("\n");
这一部分呢?
追答
这个是调用递归函数,然后输出一个换行。
这个程序的技巧的地方就在我加注释的那里
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询