C programkód miért nem veszi észre a pontot, ha 5 sorral lejjebb észreveszi?
A kód:
A hiba a LegalabbEgyPont nevű függvényben van. Valamiért a bemenetre hiába kerül valami@valamihu/valami@valami.hu mindenképp helyesnek titulálja. mintha észre se venné az email[i]!='.'-ot. próbáltam karakterkóddal is úgy se.
De ez mind szép és jó lenne, "biztos valami különleges Cs függvéyn majd megoldja.." gondoltam magamban, "jah nem", mivel az alatta lévő függvényben meg működik. (KukacElottUtanNemAllPont függvénynél a valami.@valami vagy a valami@.valami / a valami.@.valamira is hibásnak veszi az emailt. Emberek ha én csesztem el valamit egy sima programozási tételben sajnálom hogy ilyen hülye vagyok, de ha más a baj akkor valaki indokolja meg légyszives mert ez nem hagy nyugodni.) Az időtöket előre is köszönöm.
Mert != helyett == kell.
Első körben az i nulla. A while törzsében az első feltétel teljesül, a második meg nem, így azonnal ki is lép a ciklusból, pontosabban bele se lép.
"A C hajlamos arra, hogy ha egyetlen hiba van egy sorban, akkor hajlamos rengeteg helyen hibákat írni, amiatt az egyetlen hiba miatt "végiggyűrűzik" a programon a sok hamis hibajelentés, ezért utáltam meg a C-t."
Itt sehol nem volt szó fordítási hibáról.
Ha meg van is, egyszerűen az elején kell kezdeni a hibakeresést.
Az, hogy ennyitől feladtad csak a te alkalmatlanságod mutatja.
"Mert != helyett == kell.
Első körben az i nulla. A while törzsében az első feltétel teljesül, a második meg nem, így azonnal ki is lép a ciklusból, pontosabban bele se lép."
Ez meg szimplán hülyeség.
A ciklus addig megy, amíg igaz az, hogy az i kisebb, mint a méret, és az olvasott karakter nem '.'.
Ha a bemenet mondjuk: "valami@freemail.hu",
akkor size = 18.
i 0-ról indul.
0 < 18 és 'v' != '.', tehát i-t növeljük.
1 < 18 és 'a' != '.', tehát i-t növeljük.
...
15 < 18 és '.' == '.', tehát kilépünk a ciklusból.
15 < 18, tehát igazat adunk vissza.
Nekem ez teljesen jónak tűnik.
Próbáld ki többféle bemenettel, lehet valahol máshol akad el.
Nálam futtatva is jó.
Nem tudom nálad mi a gond.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!