代码如下:
void fun(int n){
char c ;
printf("输入一个字符:");
c = getchar();
if (n<=1){
putchar(c);
}else{
fun(n-1);
putchar(c);
}
}
结果就是在终端上 输出与输入 不协调
输入一个字符:5
输入一个字符:输入一个字符:6
输入一个字符:输入一个字符:4
输入一个字符:
原因是
回车 空格 这些控制键 也会被当做字符存入 变量c中
造成输入一个字符按下回车实际上是输入了两个字符
getchar函数取了上次的回车而不是等待输入新的字符