本文介绍了使用递归函数的字符串反向程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在此程序中,我没有得到输出,也没有发现我的错误,只有指出我的错误并仅给我提示,那里的任何其他方法仅给我提示. ..




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.


这篇关于使用递归函数的字符串反向程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-14 20:04