从第二次开始跳过gets()函数

时间:2015-09-10 12:59:44

标签: c goto gets

我正在玩C并写下这段代码:

   1 #include<stdio.h>
   2 #define ASK_PROMPT printf("\nDo you want to continue(Y/N):");
   3 main()
   4 {
   5    char main[20], i;
   6    start:
   7    printf("Please enter your string:\n");
   8    gets(main);
   9    printf("\nstring entered was:\n \n%s\n", main);
   10   ASK_PROMPT;
   11   scanf("%c",&i);
   12       
   13   if(i=='Y'||i=='y')
   14       goto start;
   15   getch();
   16   return;
   17 }

执行此代码时,goto loop无法正常运行。在对来自第10行的问题提供yY响应时,循环确实有效,第7行再次执行/打印但跳过第8行(不等待提供输入)。

  • 任何人都可以解释为什么会这样吗?
  • 我该如何解决?

0 个答案:

没有答案