Program nie wczytuje zmiennej po raz drugi

Program nie wczytuje zmiennej po raz drugi
0

Witam, mam problem odnosnie wczytywania zmiennych, tj. po wejsciu do case 'a' program nie oczekuje na wpisanie przez uzytkownika kolejnej wartosci, od razu wypisuje "test". Gdzie jest problem ? Tak samo dzieje sie dla funkcji scanf. Zapewne jest to jakas banalna rzecz o ktorej nie wiem, prosze o pomoc :) Tak samo dzieje sie jezeli dodam druga zmienna (np. command2) do wczytania znaku po raz drugi

Kopiuj
 #include <stdio.h>
int main () {
char command;

while (1) {
command = getchar();

switch(command) {
        case 'a':
                command = getchar();
                printf("test");
        break;
        case 'q': return 0;
}
}
return 0;}
~          
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
2

Wczytujesz jeden znak, a znak nowej linii zostaje ci w buforze i "łapie się" na drugie wczytywanie znaku.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
edytowany 1x, ostatnio: Shalom
0

Danke szyn :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.