一个关于无限循环跳出的问题,求大神简答
1#include <stdio.h>2#include <string.h>
3
4int main(void)
5{
6 char *loc,str[20];
7 char ch;
8
9 while(1) //从第9行构成了一个无限循环,但调试程序的时候,若是正确的输入信息
10 { //如第11行输入asd,第18行输入a,正确执行到第24行,返回到第二次循环
11 printf("\nEnter a line of text,enter a blank line to quit."); //但第二次循环到第12行时,正常随便输入adfafagd按下Enter后,为什么会跳出循环
12 gets(str); //控制台消失?
13
14 if(strlen(str)==0)
15 break;
16
17 printf("\nEnter a zimu that you want to find in the text.");
18 ch=getchar();
19 loc=strchr(str,ch);
20
21 if(loc==NULL)
22 printf("\nThe zimu is not in the text.\n\n");
23 else
24 printf("The first location that zimu shows in the text is: %d\n\n",loc-str);
25 }
26 getchar();
27 return 0;
28}