Miért fut le kétszer ez a ciklus rossz betű esetén C nyelvben?
Figyelt kérdés
char a;
scanf("%c", &a);
while(a!='A'){
scanf("%c", &a);
}
Printf-et tettem a while-ba, és kétszer írja ki ugyan azt, innen vettem észre, hogy kétszer fut le, mire újra értéket adhatnék. Ez miért lehet, és hogy lehet kijavítani? A normális válaszokat előre köszönöm!
2019. nov. 10. 19:03
1/6 anonim válasza:
Ebben a kódban nincs printf így nem is írhat ki semmit kétszer.
2/6 A kérdező kommentje:
köszönöm az értékes hozzászólásod. Innen kivettem, mert nem láttam értelmét benne hagyni a kérdésben. Azonban printf nélkül is 2 megy végig a cikluson, mire enged értéket adni.
2019. nov. 10. 20:14
3/6 anonim válasza:
Nemtom, nálam semmi ilyet nem csinál.
Addig kéri be, amíg 'A'-t nem írok be, többször nem.
5/6 anonim válasza:
Én sejtem miről beszél. Egyébként kódismétlés elkerülése végett, egy do...while ciklust használnék.
Mivel ez egy konzolos program, sorbufferelt az egész.
Magyarul mondva entert kell nyomnod a karakter után, hogy megegye. AZONBAN: az enter egy önállóan is értelmezett karakter c-ben is, így azon is végigmegy.
Ezt a "tananyagot" olvasd el, remélem nem bánja az oktató hogy megosztom:
6/6 A kérdező kommentje:
Nagyon szépen köszönöm az utolsónak! Valóban az lehet a probléma amit leírt. Ha jól értelmeztem a melléklet bizonyos részei is alátámasztották az állítást. Mégegyszer köszönöm!
2019. nov. 11. 18:59
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!