递归打印字符
功能是将传入的字符串前后翻转。输出的时候不能一次性输出字符串,什么地方错了吗?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void get_s();
void get_s()
{
char ch;
while((ch=getchar())!='\n')
{
get_s();
printf("%c",ch);
}
if(ch=='\n')
{
printf("前后翻转后的结果:");
}
return;
}
int main(void)
{
printf("请输入一个字符串:");
get_s();
putchar('\n');
return 0;
}
输入结束手,第八行那里,你按一次回车输出一个字符 tang- 发表于 2021-8-6 15:58
输入结束手,第八行那里,你按一次回车输出一个字符
把while 改成 if就行了 void get_s(void)
{
int ch;
if( ( ch=getchar() )!='\n')
{
get_s();
printf("%c",ch);
}
}
tang- 发表于 2021-8-6 15:58
输入结束手,第八行那里,你按一次回车输出一个字符
想通了,谢谢{:10_323:} 万千只cnm 发表于 2021-8-6 16:36
{:10_302:}谢谢回复,看明白了
页:
[1]