Skocz do zawartości

[C] Proszę o wskazówkę


Idź do rozwiązania Problem ogarnięty przez Luki91,

Recommended Posts

        case '1':
        printf("Ile komorek ma byc w tablicy? ");
        scanf("%d", &komorki);
        loadRandomData(table, komorki, HEIGHT, WIDTH);
        printf("Wcisnij q aby wyjsc, lub inny klawisz, aby kontynuowac\n");
        wyjscie=getchar();
        if (wyjscie!='q')
            Petla(table);
        break;

Mam taki oto kawałek kodu. Działa mi tak jak chcę, poza tym, że nie pobiera mi znaku poprzez getchar na etapie wyjscie=getchar(); 

Wcześniej próbowałem scanf (tak jak mam parę linijek wyżej), też nie działało. Ktoś wie, o co chodzi? W ogóle nie czeka, aż wcisnę klawisz, tylko od razu przechodzi do ifa i wykonuje Petla(table);

Link to post
Share on other sites
  • Rozwiązanie

Podejrzewam, że w momencie wywołania getchar(), w buforze wejściowym pozostaje znak '\n' z uprzednio wywołanego scanf.

Spróbuj przed wywołaniem wyjscie=getchar(); dodać jeszcze jedno wywołanie getchar().

  • Popieram 1
Link to post
Share on other sites
Gość
This topic is now closed to further replies.
  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...