天神下饭... 发表于 2020-11-16 13:57:44

救救孩子吧

mrcrisis 发表于 2020-11-16 13:57:45

char *match(char *s, char ch)
{
        char * result = NULL;
      while (*s != NULL)
      {
                if (*s == ch)
                {
                        result = s;
                }
                *s++;
      }
      return result;
}

风过无痕1989 发表于 2020-11-16 16:33:18

本帖最后由 风过无痕1989 于 2020-11-16 17:50 编辑

下面这个程序,找到字符后输出是正常的,但没有找到字符,输出是空行,而不是“Not Found"

#include <stdio.h>
char *match(char *s, char ch);
int main(void)
{
        char ch, str, *p = NULL;
        scanf("%s", str);
        getchar();               /*跳过输入字符串和输入字符之间的分隔符*/
        ch = getchar();          /*输入一个字符*/
        p = match(str, ch);      /*调用函imatch()*/
        if (p != NULL)            /*找到字符ch*/
        {
                printf("%s\n", p);// 输出找到字符之后的字符串
        }
        else
        {
                printf("Not Found.\n");
                return 0;
        }
}

char *match(char *s, char ch)
{
        while (*s != NULL)
        {
                if (*s == ch)
                {
                        break;
                        return s;
                }
                *s++;
        }
}

天神下饭... 发表于 2020-11-16 16:50:45

风过无痕1989 发表于 2020-11-16 16:33
下面这个程序,找到字符后输出是正常的,但没有找到字符,输出是乱码,而不是“Not Found",调试了好几个小 ...

不是
我不知道怎么找到最后一个字符
比如 program找到的是第二个r
输出ram
乱码最后应该要加return null

风过无痕1989 发表于 2020-11-16 16:58:34

天神下饭... 发表于 2020-11-16 16:50
不是
我不知道怎么找到最后一个字符
比如 program找到的是第二个r


正像你说的,加个 return null ,程序就正常了

风过无痕1989 发表于 2020-11-16 17:06:23

不行,加了以后,无论找到找不到,输出都是 Not Found

天神下饭... 发表于 2020-11-16 17:13:02

风过无痕1989 发表于 2020-11-16 17:06
不行,加了以后,无论找到找不到,输出都是 Not Found

char *match(char *s,char ch)
{
    while(*s!='\0')
      if(*s==ch)
            return (s);
      else
            s++;
    return(NULL);
}

天神下饭... 发表于 2020-11-16 17:17:00

风过无痕1989 发表于 2020-11-16 17:06
不行,加了以后,无论找到找不到,输出都是 Not Found

但是这样写你输入program
输出就是rogram了

风过无痕1989 发表于 2020-11-16 17:57:24

天神下饭... 发表于 2020-11-16 17:17
但是这样写你输入program
输出就是rogram了

怎么改都不对,上面的程序,我改回来了,找到了,输了正常,没找到,输出空行
页: [1]
查看完整版本: 救救孩子吧