Nie wykonuje scanf
Ostatnio zmodyfikowano 2014-12-03 12:10
poczben Temat założony przez niniejszego użytkownika |
Nie wykonuje scanf » 2014-12-03 12:01:43 Dlaczego w ponizszym kodzie nie zostaje wykonana linijka scanf("%c", &odpowiedz); ? Wyglada to tak jakby potwierdzienie wczytywania liczb enterem sprawilo, ze w zmiennej odpowiedz zostaje zapisany kod ASCII entera. Jak rozwiazac ten problem w inny sposob niz poprzez umieszczanie linijki scanf("%c%c", &odpowiedz, &odpowiedz), ktora rozwiazuje problem, ale wyglada malo elegancko ? #include <stdio.h> #include <stdlib.h> int main() { int i, ilosc, tablica[20]; char odpowiedz; do { printf("Ile liczb wczytac?\n"); scanf("%d", &ilosc); printf("Prosze podac %d liczb:\n", ilosc); for(i=0; i<ilosc; i++) scanf("%d", &tablica[i]); printf("Powtorzyc operacje? (t/n):"); scanf("%c", &odpowiedz); //scanf("%c%c", &odpowiedz, &odpowiedz); taka linijka da poprawny efekt } while(odpowiedz=='t'); system("pause"); return 0; }
|
|
Monika90 |
» 2014-12-03 12:10:56 Dodaj spację przed %c scanf( " %c", & odpowiedz );
Zdaje się, że już po raz 3 udzielam tej odpowiedzi. |
|
« 1 » |