本文介绍了使用递归函数的字符串反向程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在此程序中,我没有得到输出,也没有发现我的错误,只有指出我的错误并仅给我提示,那里的任何其他方法仅给我提示. ..
In this program i did''t get output i did''t find out my mistake any one point-out my mistake and give me a hint only and any other method ''s there give the hint to me only...
#include<stdio.h>
#include<conio.h>
void fun(char *s, int l1);
void main()
{
//void rev(char, int);
char str;
int l;
clrscr();
printf("Enter the string: ");
scanf("%s",&str);
printf("%s",str);
//s=&str;
l = strlen(str);
fun(&str,l);
getch();
}
void fun(char *s,int l1)
{
char *temp;
if(l1 == -1)
exit(0);
else
{
temp = s+(l1-1);
printf("%c",*temp);
l1-=1;
fun(s,l1);
}
}
推荐答案
const int bufSize = 1024;
char str[bufSize]; // or some other arbitrary num long enough to hold string
或
const int bufSize = 1024;
char *str;
str = (char*)calloc(bufSize, 1); // see above note on length - alloc & clear mem
然后使用:
And then use:
scanf_s("%s", str, bufSize-1);
我没有看过程序的其余部分.这可能会或可能不会解决您的问题.无论如何,仍然是您应该解决的错误.
I haven''t looked at the rest of the program. This may or may not fix your problem. In any case, it''s still an error that you should fix.
这篇关于使用递归函数的字符串反向程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!