Witam, podczas działania niżej przedstawionego kodu, program nie czeka na wpisanie literki przez użytkownika (WERS 92), ale samoistnie przechodzi dalej, podając, jakoby znk2==(klawisz Enter).
W jaki sposób można tego uniknąć?
znk=getch();
switch(znk)
{
case '1' :
{
j=0;
printf("Wpisz liczbe: ");
scanf("%d", &dec);
char *l_binarna;
l_binarna=DECtoBIN(dec);
for (i=0; i<strlen(l_binarna); i++)
{
if (l_binarna[i]!='0') break;
}
for (j=i; j<strlen(l_binarna); j++)
{
printf("%c", l_binarna[j]);
}
printf("\nCzy zapisac do pliku? (t/n): ");
scanf("%c", &znk2);
if ((znk2=='t') || (znk2=='T')) printf("\nOdpowiedz twierdzaca");
break;
}
Działa ze spacją, dziękuję serdecznie. Właśnie tak myslałem, że to przez ów bufor. Szukałem jakiejś instrukcji nie wiem, zwalniającej pamięć bufora, ale nic nie znalazłem.