Hirdetés
- Mindenkinél több és erősebb AI gyorsítót ígér Elon Musk
- M.2 csatlakozók terén (is) jónak ígérkezik az MSI közelgő AMD-s alaplapja
- Kivégezheti a kisebb VGA-gyártókat az NVIDIA döntése
- Szinte a semmiből robbanna be az 1,4 nm-es eljárásával a Rapidus
- Félszáz terabájtos HDD-k előtt nyitotta ki az ajtót a Seagate
- Apple asztali gépek
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Szinte a semmiből robbanna be az 1,4 nm-es eljárásával a Rapidus
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Nem indul és mi a baja a gépemnek topik
- Milyen házat vegyek?
- Nvidia GPU-k jövője - amit tudni vélünk
- Azonnali alaplapos kérdések órája
- eGPU tapasztalatok
- Milyen videókártyát?
Új hozzászólás Aktív témák
-
Karma
félisten
Mivel a fordító számít, így legrosszabb esetben is csak kétféle viselkedést tapasztaltál volna (a CB-féle sajáttal meg a többi fordítóval). Elég egyértelmű így a stack overflow, amit a hatalmas struktúrával idézel elő.
Azért ha meg is kell védened ezt a házit, jobb lenne ha átállnál mallocolt struktúrákra...
-
Jester01
veterán
A scanf("%s") ugyanúgy nem ellenőrzi a hosszt, tehát túlcsordulás veszélyes.
Hogy a program miért nem működik azt már a #3603-ban leírtam. A scanf hagyja a pufferben a sorvéget ezért a rákövetkező fgets üres sort lát. A mostani kóddal ezért a település neve lesz üres.
Az ember azt hinné az adatbevitel egyszerű, de ez sajnos nem így van

Mivel mindenhol sorokat akarsz olvasni, mindenhol fgets kell és máris jó lesz. Persze igazából egy hibakezelős verzió kellene, ami észreveszi, ha több betűt ír be a lökött felhasználó.
Például valami ilyesmi jöhet szóba.
-
Karma
félisten
Azért nem kéri be a házszámot, mert a gets az stdin pufferben hagyja az újsor karaktert, amit az enterlenyomás otthagy - így a következő olvasás azt hozza be a felhasználóra várás helyett.
Azt egy külön getcharral el kell nyelned puszta kézzel.
Egyébként a település nevében is lehet ám szóköz.
-
e=mc²
őstag
Megprobaltam gets()-el, es igy modositottam a kodot:
struct cel_allomas Beker_Cel(){
struct cel_allomas l_cel;
char str[NEVHOSSZ];
printf("Telepules neve:\n");
scanf("%s", l_cel.telepules);
printf("Kozterulet neve:\n");
gets(str);
strcpy(l_cel.kozterulet, str);
printf("Hazszam:\n");
scanf("%s", l_cel.hazszam);
return l_cel;
}viszont miert kapok olyan hibat, hogy a hazszamot mar nem keri be, hanem atugorja?
-
Jester01
veterán
Ahogy mondod

Mivel a main a kapcsolat a futo és a futolepes között, így először futo-ból kellene visszaadni a main-be, majd onnan tovább. A helyzetet bonyolítja, hogy 2 értékről van szó. Egy lehetséges megoldás ha definiálsz egy struktúrát a két értéknek és azt adogatod, valahogy így:struct pozicio
{
int sor;
int oszlop;
};
struct pozicio futo(char tabla[TABLA_MERET][TABLA_MERET], char input[3])
{
struct pozicio p;
...
return p;
}
...
void futolepes(char tabla[TABLA_MERET][TABLA_MERET], struct pozicio p)
{
...
}
...
int main()
{
struct pozicio p;
...
p = futo(tabla, input);
gyalog(tabla, input);
futolepes(tabla, p);
...
}A naív megoldás persze a globális változók használata lenne, de az általában nem ajánlott.
Ú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!
- Robotporszívók
- Kuponkunyeráló
- Együttműködik az Infinix és a Pininfarina
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Apple asztali gépek
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- BestBuy topik
- Szinte a semmiből robbanna be az 1,4 nm-es eljárásával a Rapidus
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- One otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- Eladó Samsung 24" Full HD LED monitor (S24C450B)
- 2013 Late 27 iMac - 1TB HDD i5 core4 24GB RAM 2GB GTX
- Bomba ár! Toshiba Portege R930 - i5-3GEN I 4GB I 320GB I DVDRW I 13,3" HD I HDMI I Cam I W10 I Gari!
- Bomba ár! Toshiba Portege X30-E - i5-8250U I 8GB I 256SSD I 14" FHD I Cam I W11 I Garancia!
- Bomba ár! Toshiba Satellite Pro A40-D - i5-7200U I 8GB I 256SSD I 14" HD I Cam I W11 I Garancia!
- Telefon felvásárlás!! Honor 200 Lite, Honor 200, Honor 200 Pro, Honor 200 Smart
- 365 NAPRA RÉSZLETRE BANKMNETES KAMATMENTES , GAMER PC ,LAPTOPOK , GAMER SZÉKEK , GAMER MONITOROK
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 16/32/64GB RAM RX 9060XT 16GB GAMER PC termékbeszámítással
- Apple iPhone 11 64GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felváráslás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: Laptopműhely Bt.
Város: Budapest
Így elég nehéz segíteni!




