使用switch语句和函数时程序(C)崩溃

时间:2014-06-25 19:56:38

标签: c function crash switch-statement

#include <stdio.h>
#include <stdlib.h>
void play();
void quit();

int main()
{
    int x;
    printf("1) play\n2) quit\n");
    scanf("%d", x);
    switch(x) {
    case(1): {
        play();
        break;
    }
    case(2): {
        quit();
        break;
    }
    default:{
        printf("BAD INPUT");
        break;
    }

    /*if x is equal to 1, play
      if x is equal to 2, quit
      otherwise, tell the user, BAD INPUT*/
}

return 0;
}

void play(void){
    printf("play");
}

void quit(void){
   printf("quit");
}

所以基本上,我试图得到它,如果用户输入1,它表示播放,如果用户输入2,则表示退出。它打印播放和退出,但是一旦我输入一个数字并按下输入,整个事情就会崩溃。我搜索的范围很广,但我无法弄清楚为什么会这样。任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

错误使用scanf

行:scanf("%d", x);

应为scanf("%d", &x);