2017-06-04 74 views
-2

如何讓用戶在情況3中說出y後關閉程序。我希望他們在情況3中按y時,程序會在編譯完成後自行退出。我正在嘗試製作一個菜單,您可以在其中瀏覽選項,但不完整,但我需要進行遊戲,圖形,聲音大小寫。下面是代碼:如何使程序自行關閉

#include <stdio.h> 
#include <stdlib.h> 
#include <ctype.h> 
#include <string.h> 
#include <math.h> 

int main() 
{ 
    int op1; 

    printf("1.Play\n"); 
    printf("2.Options\n"); 
    printf("3.Exit\n"); 


    scanf(" %d", &op1); 

    char ans; 

    switch(op1) 
    { 
      case 1 : printf("Press 5 to start a new game"); 
       break; 
      case 2 : printf("1.Graphics\n"); printf("2.Sound\n"); 
       break; 
      case 3 : printf("Are you sure (y/n)"); 
       scanf(" %c", &ans); 
       if(ans =='y') 
       { 

       } 
       else 
       { 
        printf("1.Play\n"); 
        printf("2.Options\n"); 
        printf("3.Exit\n"); 
       } 
      default : printf("Wrong choice."); 
    } 
    return 0; 
} 
+8

只需使用exit(0); –

+0

爲了正常退出。只需使用exit()系統調用即可。 – LethalProgrammer

+0

出於某種原因退出(0);當我把if語句放在if =='y'時,並且當我按下y時,控制檯停留在那裏並等待我敲擊任何鍵,這是行不通的。任何幫助? –

回答

1

如果這隻限於main()方法,那麼只需返回。

if(ans == 'y') { 
    return 0; 
} 

這是一個很好的做法,以避免硬退出,除非你真的需要它們。

但是,如果您確實需要退出,您可以在這裏嘗試_exit(0);。以及已經提到的exit(0);

0

首先,y不是一個變量,你必須用字符代碼進行比較:

if (ans == 'y') {...} 

要終止程序,請使用:

exit(0);