Hirdetés
- One mobilszolgáltatások
- Pebble - az átgondolt okosóra
- Xiaomi 15T Pro - a téma nincs lezárva
- Google Pixel 9 Pro XL - hét szűk esztendő
- iPhone topik
- Samsung Galaxy S25 - végre van kicsi!
- Xiaomi 17 Ultra - jó az optikája
- Vivo X300 Ultra - tárcsázz, ha van rá keret!
- Nem lesz olcsó a Realme GT 8 Pro Európában
- 8000 nit, maradhat? A szaúdiaknál kezd a Honor 600 Pro
Ú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
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Nintendo Switch 2
- Garancia kérdés, fogyasztóvédelem
- Sony MILC fényképezőgépcsalád
- One mobilszolgáltatások
- Crimson Desert
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- Hosszú premier előzetest kapott az Arknights: Endfield
- Fejhallgató erősítő és DAC topik
- 240 Hz-es QD-OLED monitor jött az Alienware-től az árérzékenyebbek számára
- Lalikiraly: Macbook NEO 2
- További aktív témák...
- GIGABYTE RX 6800 XT 16GB GDDR6 GAMING OC - Eladó!
- BESZÁMÍTÁS! ASRock A520M R5 5500 16GB DDR4 500GB SSD RX 5700XT 8GB Rampage SHIVA Seasonic 650W
- BESZÁMÍTÁS! MSI B450M R5 5600 16GB DDR4 512GB SSD RX 6650 XT 8GB Rampage SHIVA FSP 650W
- BESZÁMÍTÁS! ASUS B450M R7 5700 32GB DDR4 512GB SSD RTX 3060 12GB Rampage SHIVA Cooler Master 650W
- BESZÁMÍTÁS! AsRock H510M i5 11500 16GB DDR4 512GB SSD RTX 3060 12GB Rampage SHIVA Adata 600W
- Samsung 870 QVO 8TB Sata 2.5 SSD
- GYÖNYÖRŰ iPhone 13 Pro Max 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS4522
- GAMING PC! i7-13700F / RX 9070 XT / 32GB DDR5 / B760 / 1TB NVMe / 850w Gold! BeszámítOK
- M1 iMac 2021 24" - 16GB RAM, 512 GB/ 1TB SSD 27% ÁFÁS
- Apple MacBook AIR 13 / M2 / 16GB / 256 GB! BeszámítOK
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Így elég nehéz segíteni!



