Scanf вызывает сбой программы на C - PullRequest
2 голосов
/ 26 ноября 2011

Эта простая проблема вызывает сбой всей моей программы во время первого ввода. Если я удаляю ввод, программа работает нормально, но как только я добавляю 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 ]

9 голосов
/ 26 ноября 2011

Вы должны передать адрес переменной в scanf:

 scanf("%c", &answer);
4 голосов
/ 26 ноября 2011

Используйте «& ответ». И избавиться от посторонних команд "fflush ()" ...

Лучше заменить "answer = getchar ()".

...