|
发表于 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[80], *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++;
- }
- }
复制代码 |
|