Scanf导致C程序崩溃

时间:2011-11-26 19:40:27

标签: c crash scanf

这个简单的问题导致我的整个程序在第一次输入时崩溃。如果我删除输入,程序工作正常,但一旦我将scanf添加到代码并输入输入程序崩溃。

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

#define MAXEMPS 3


// stub program code
int main (void){
    char answer;

    do
    {

        printf("\n Do you have another(Y/N): ");
        scanf("%c", answer);
    }while(answer == 'Y' || answer == 'y');

    getchar();
    printf("  Press any key ... ");
    return 0;
} // main

2 个答案:

答案 0 :(得分:9)

您必须将变量的地址传递给scanf:

 scanf("%c", &answer);

答案 1 :(得分:4)

使用“&amp; answer”。并摆脱无关的“fflush()”命令......

更好,替换“answer = getchar()”。