greenery 发表于 2020-9-16 20:25:19

初学递归,不明白这样写为什么不行

一个遇到!反向输出句子的程序。
来源s1e34 动动手0.
是指针跨度的问题吗?晕了{:10_296:}


#include<stdio.h>
void reverse(char*sent);

void reverse(char*sent)
{
        if(*sent!='!')
        {
                reverse(++sent);
        }
        putchar(*sent);
}


int main(void) {
        char sent;
        printf("请输入一个以!结尾的英文句子:");
        scanf("%s",sent);
        reverse(sent);
       
       
        return 0;
}

永恒的蓝色梦想 发表于 2020-9-16 20:32:35

#include<stdio.h>
void reverse(char*sent);

void reverse(char*sent)
{
      if(*sent!='!')
      {
                reverse(sent+1);
      }
      putchar(*sent);
}


int main(void) {
      char sent;
      printf("请输入一个以!结尾的英文句子:");
      scanf("%s",sent);
      reverse(sent);
         
      
      return 0;
}

greenery 发表于 2020-9-16 20:42:01

{:10_262:}贴贴能撤回吗,我发现我打进去的是中文!难怪结果乱七八糟。。,不过这个递归本身算法就有问题,我已经找出原因来了

greenery 发表于 2020-9-16 20:45:24

永恒的蓝色梦想 发表于 2020-9-16 20:32


妙啊{:10_275:}谢谢
页: [1]
查看完整版本: 初学递归,不明白这样写为什么不行