为什么删除了一行代码反而出错?
程序代码:
#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; } } }