Witam, proszę o przeanalizowanie tego kodu:
char x;
int i;
for(i=0;;i++)
{
printf("Podaj x: ");
scanf("%c",&x);
printf("Wywolanie %d, wybrales %c\n\n",i,x);
}
Jako rezultat wyświetla w konsoli:
Podaj x: a
Wywolanie 0, wybrales aPodaj x: Wywolanie 1, wybrales
Podaj x:
Po skompilowaniu jestem 1 raz pytany o "podaj x", gdzie mogę podać wartość.
Drugie uruchomienie pętli wygląda jak gdyby samo podało coś pod x, ja nie miałem możliwości nic wpisać (scanf nie zostal wywołany, dlaczego?), wartość x wyświetla jednak pustą, o co chodzi z tym ?
Trzecie uruchomienie pętli jest poprawne, bo pyta mnie - scanf został wywołany.
Dlaczego takie coś się dzieje ?