题目:对输入的一个以‘.’结尾的字符串,采用递归,进行逆序输出。
分析思路:由于逆序输出,一个一字母一个字母的输出,因此这里用到getchar和putchar,来一个字母一个字母的读取和输出。
递归:这里面重复的动作是,一个字母一个字母的敲,每次递归里面的字母不同,直到遇见'.'结束,因此重复语句即为输入一个字母getchar();输入完后进入递归,递归条件为!='.',递归后逆序输出,所以,需要在递归语句后进行putchar()的输出。
代码如下:
运行函数前,字符串先判断和输入完毕,再传进去;
void nixu(char s[20],int length)
{
printf("%c",s[length-1]);//从数组末尾进行输出
if(length>0) //当字符量个数为0时,跳出递归,每递归依次,length-1
nixu(s,length-1);
}