Új hozzászólás Aktív témák
-
Rickazoid
addikt
Üdv!
A következő kóddal (mintakód, de a problémám ugyanez) lenne a problémám:
int i;
scanf("%d",&i);
printf("%d",i); //nem integer esetén 0
while(i==0)
{
printf("Nem jó. Új szám: ");
scanf("%d",&i);
}
printf("%d",i);
Amíg az i-nek számot adok meg, nincs gond, de amint betűt, a mögötte lévő ciklus végtelen ciklusba kerül. Ezt próbáltam meg kiküszöbölni a példában szereplő while ciklussal ami megnézi, hogy 0-e, mivel nem szám esetében 0 lesz az i értéke, de az is végtelen ciklusba kerül. Hogy tudom elérni, hogy nem szám beírásakor újrakérje a számot végtelen ciklusok helyett?
Az int-et nem módosíthatom karakterre, főleg nem karaktertömbre, az most túl bonyolult lenne a program többi része miatt.
Van valami megoldás erre? Egyáltalán miért nem működik? Ha az i értéke 0 lesz, akkor a while miért hülyül meg, mi a különbség 0 és 0 közt, ha mindkettő integer?
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- iPad Pro 12.9" M1 256GB 2021 - touchpad keyboard, pencil 2 - full, garancia (116)
- Macbook Pro 14" M1 Pro - 2022 gyártás, 10 GPU, 14 CPU, 32 GB / 1 TERA - garancia (102)
- PS5 Slim 1 TB - Garanciás 2027.04.15
- Google Pixel 9 Pro XL 16/256gb
- Asus 15.6,core i3 5005(4x2,0Ghz)IntelHD VGA,8-16GB RAM,SSD,,Win.11,Jó akku
- Gamer billentyűzetek /Akko/Monsgeek/Montech/Asus/SteelSeries/Ozone/Deltaco/DE/UK/Számlával!/
- 27% - ASUS Vivobook OLED Notebook! Ryzen 5 7535HS / 16GB 6400MHz / 500GB NVMe
- ASUS TUF RTX 5090 OC 32GB GDDR7 TUF-RTX5090-32G-GAMING Videokártya! BeszámítOK
- HIBÁTLAN iPhone 13 Mini 256GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS4673
- Intel Core i9-10850K 10-Core 3.6GHz LGA1200 (20M Cache, up to 5.20 GHz)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
