为什么删除了一行代码反而出错?
程序代码:
#include<stdio.h>
char string(char *,char);
int main(void)
{
char str[81];
char ch;
char *p;
do
{
printf("输入字符串范围\n");
gets(str);
printf("输入字符\n");
ch = getchar();
getchar();//为什么删除这一行反而出错了?
p = string(str,ch);
if(p)
{
puts("找到!");
printf("1\n");
}
else
{
puts("没找到!");
printf("0\n");
}
puts("继续的话就输入除q以外的任何字母.");
gets(str);
}
while(*str!='q');
puts("íË3ö.");
return 0;
}
char string(char *p,char ch)
{
if(*p=='\0')
return NULL;
while(1)
{
if(*p==ch)
{
return 1;
}
else
{
if(*++p=='\0')
return NULL;
}
}
}



