Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Nie wykonuje scanf

Ostatnio zmodyfikowano 2014-12-03 12:10
Autor Wiadomość
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;
}
P-122050
Monika90
» 2014-12-03 12:10:56
Dodaj spację przed %c
C/C++
scanf( " %c", & odpowiedz );

Zdaje się, że już po raz 3 udzielam tej odpowiedzi.
P-122052
« 1 »
  Strona 1 z 1