[c] pętla i scanf
: 14 grudnia 2007, 20:13
Napisałem kod który musi wczytać n razy 2 zmienne (tylko muszą być one wprowadzone za jednym razem - w jednej lini):
I jest problem bo program zachowuje się dziwnie: najpierw pobiera zmienne, później wypisuje wartości - są puste i znowu wypisuje wartości - tym razem poprawne (te które wprowadziłem). Czyli zimienne są wczytywane dopiero po drugim wkonaniu pętli. Gdy zmodyfikuje kod:
wszytko jest ok (wartości wprowadzam raz i program działa dalej tak jakby drugiego scanf wogóle tam nie był)
Dlaczego musze 2 razy wpisać scanf żeby działało ok (tak jak bym 2 razy wpisał)?
Nie wiem czy dobrze to wyjaśniłem, ale mam nadzieję że zrozumiecie :-P
Kod: Zaznacz cały
for(i=1; i<=wpisy; i++)
{
printf("Podaj wpis nr %d: ", i);
scanf("%c %d", &towar, &ile);
puts("");
printf("%d: towar:%c ile:%d\n", i, towar, ile);
}
Kod: Zaznacz cały
for(i=1; i<=n; i++)
{
printf("Podaj wpis nr %d: ", i);
scanf("%c %d", &towar, &ile);
scanf("%c %d", &towar, &ile);
puts("");
printf("%d: towar:%c ile:%d\n", i, towar, ile);
}
Dlaczego musze 2 razy wpisać scanf żeby działało ok (tak jak bym 2 razy wpisał)?
Nie wiem czy dobrze to wyjaśniłem, ale mam nadzieję że zrozumiecie :-P