Ciklusban scanf, line feedet érzékel?
Figyelt kérdés
Sziasztok!
Az alábbi kódrészlet minden második lefutásnál 10-et ír ki(line feed - új sor)
Miért?
while(1)
{
char c;
scanf("%c",&c);
printf("%d\n",c);
}
2014. nov. 8. 12:30
11/13 A kérdező kommentje:
De ugyan az a probléma ezzel, mint ahogy már leírtam. A következő ciklusban automatikusan beolvassa az előző beolvasáskor keletkezett sortörés karaktert.
2014. nov. 9. 11:38
12/13 anonim válasza:
A #6 válaszban leírtam, hogy mivel tudod megcsinálni, több megoldást is. Innentől mi a probléma?
13/13 SimkoL válasza:
....
char c;
scanf("%c",&c);
printf("%d\n",c);
fflush(stdin);
....
Windows alatt használd így nyugodtan akármit is mondanak, működik, Linux alatt valóban nem 'tökéletes'. Amúgy pedig egy while ciklus ami 'megeszi' a felesleget.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!