Dlaczego drugie getchar niedziała ? :/

0

Mam kod:

#include <cstdlib>
#include <cstdio>

using namespace std;

int main(int argc, char *argv[])
{
    int a = getchar();
    if(a == 1)
    {
        puts("1 opcja");
        int b = getchar();
        if(b == 1)
                puts("1 z 1");
        else
                puts("Inna z !");
    }
    else
        puts("Inna");
    
    system("PAUSE>NUL");	
    return 0;
}

program powinien pobierać 2 znaki z klawiatury ale pobiera tylko jeden - druga funkcja getchar zostaje pominięta :/. Co jest nie tak ??

0

Drugi getchar() dziala, a tym co zwraca jest znak nowej linii. Do odczytywania jednego znaku z pominieciem znaku nowej linii mozesz uzyc np. czegos takiego:

scanf("%c%*c", &a);
0

A dlaczego tak jest ?? Czyżby getchar nadawało się tylko do plików ??

1 użytkowników online, w tym zalogowanych: 0, gości: 1