在程序结束前暂停

时间:2017-04-11 17:51:23

标签: c user-input

我有一个关于我需要在我的代码中做的事情的问题,

我需要在代码结束前暂停代码,例如有一个switch case 为了

1-等 2-等 3 。 。 5等

当我点击9时,输出为

printf("This option is unknown.\nThe program exits.\n");

现在我需要做的是:在按摩之后,程序需要停止,当我按下“输入”时,它将继续“按任意键继续”,

非常感谢帮助。

编辑:`默认:

        printf("This option is unknown.\nThe program exits.\n");
        getchar();
        system("pause");
        break;`

3 个答案:

答案 0 :(得分:0)

你没有显示实际的代码,所以很难说实际上会发生什么,但我会假设你的函数调用exit()

在控件到达exit()之前,您需要添加一些等待用户输入的代码。一个例子getchar(),将为您完成这项工作。

在您致电exit()(或return)之前,您需要添加

while ('\n' != getchar());           //rough way to clean input buffer
puts("press any key to continue");   //print message
getchar();                           //wait for any new key press

答案 1 :(得分:0)

尝试系统(“暂停”)。需要的库:stdlib.h

答案 2 :(得分:0)

我对您解决此问题的最终代码非常好奇。 我写了一个模仿你情况的示例代码。 请查看以下代码,如果您正在解决此问题,请告诉我们。感谢

 #include <stdio.h>
 #include <string.h>

 int
 main(void)
 {
     char ch;

     printf("Please enter an option [1,2,3,4,5 (return to exit):");
     while( ( ch = getchar() ) !='\n' )
     {

         switch(ch)
         {
            case '1':
               printf("hello 1\n");
               break;
            case '2':
               printf("hello 2\n");
               break;
            case '3':
               printf("hello 3\n");
               break;
             case '4':
                printf("hello 4\n");
                break;
             case '5':
                printf("hello 5\n");
                break;
             default:
                printf("unknown option. Press a key to continue. (return to exit)\n");
                break;
         }
         printf("Please enter an option [1,2,3,4,5 (return to exit):");

         ch = getchar();
   }

   return 0;
  }