一、程序分析
利用递归函数调用方式,将所输入的字符串中的前5个字符,以相反顺序打印出来。(当然想逆向输出几个字符只需要改一点点程序中的算法就可以了)
二:程序源代码
#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
int main()
{
int i = 5;
void palin(int n);//声明函数palin
printf("\40:");
palin(i); //调用函数
printf("\n");
system("pause");
return 0;
}
void palin(int n) //自己定义的函数
{
char next;
if (n <= 1)
{
next = getchar();
printf("\n\0:");
putchar(next);
}
else
{
next = getchar();
palin(n - 1); //使用递归 使得函数palin在条件下自己调用自己
putchar(next);
}
}
三、程序结果示例(我们让输入的字符串大于五来看)
可以看到输出的字符串只有五位逆向输出,其他几位全部被释放,从第五位后直接后面变成'\0'
如果我们想让逆向输出的字符变多或者变少,该怎么做呢?
接下来就是源代码
#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
int main()
{
int i;
void palin(int n);
printf("请输出要逆向输出几位字符:\n");
scanf_s("%d",&i);
printf("请输出字符串:\n");
printf("\40:");
printf("\n");
palin(i);
printf("\n");
system("pause");
return 0;
}
void palin(int n)
{
char next;
if (n <=0)
{
next = getchar();
printf("\n\0:");
putchar(next);
}
else
{
next = getchar();
palin(n-1);
putchar(next);
}
}
仅仅需要改动一小部分参数就好
四、程序结果示例
以上就是本次字符串逆向输出的代码。