Hirdetés
- Eldugott helyek Párizsban, amiket jó eséllyel még nem láttál... 2. rész.
- ASUS Maximus VIII Ranger Z170 6-7-8-9-10 gen támogatás (Coffeetime mod)
- DFI és DFI Lanparty gyűjteményem
- Möbelix Milan íróasztal - a tapasztalatok összeszerelés után
- Keychron V6 Max (HU) Mechanikus vezetéknélküli billentyűzet (Bluetooth, RF, USB)
- Brogyi: CTEK akkumulátor töltő és másolatai
- laskr99: DFI és DFI Lanparty gyűjteményem
- Luck Dragon: Asszociációs játék. :)
- bambano: Bambanő háza tája
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- GoodSpeed: Reklámmentesítés HyperOS-ben Xiaomi/POCO/Redmi
- sziku69: Szólánc.
- GoodSpeed: Egy bihari a Hajdúságban
- Meggyi001: Eldugott helyek Párizsban, amiket jó eséllyel még nem láttál... 2. rész.
Új hozzászólás Aktív témák
-
Domonkos
addikt
válasz
sztanozs #6008 üzenetére
Mert a 0-val valo osztas UB, igy ezzel a lehetoseggel nem is kell a forditonak szamolnia. Mivel ezzel nem kell szamolnia, igy feltetelezheto, hogy j nem 0; am ekkor a feltetel mindig igaz, ezert az NOP-olhato. Ekkor viszont a masik return elerhetetlen, igy az is elhagyhato.
-
Domonkos
addikt
Ha a 0-val valo osztas UB, akkor garantalja-e azt valami, hogy egy ilyen kod eseten az
if
is biztosan belefordul a gepi kodba (es persze hogy areturn 69
is marad)?int
d(int j)
{
if (j != 0)
return 100/j;
return 69;
} -
Domonkos
addikt
válasz
buherton #5921 üzenetére
Itt az altalam javasolt megoldas:
#include <stdio.h>
int strcmp(char *s1, char *s2);
int
strcmp(char *s1, char *s2)
{
unsigned c1, c2;
for(;;) {
c1 = *s1++;
c2 = *s2++;
if(c1 != c2) {
if(c1 > c2)
return 1;
return -1;
}
if(c1 == 0)
return 0;
}
}
int
main(int argc, char *argv[]) {
if (argc != 3) {
fputs("argc\n", stderr);
return 1;
}
printf("%d\n", strcmp(argv[1], argv[2]));
return 0;
} -
Domonkos
addikt
Par ellenorzes azert elkene a kodba. Pl hogy sikerult-e egyaltalan megnyitni a filet, vogy hogy mit sikerul belole kiolvasni stb.
Fel tudnad valahova tolteni az egesz kodreszletet? Ugy egy fokkal konnyebb lenne ertelmezni.btw.
void *
-ot nem kell castolnod, az megy implicit -
-
Domonkos
addikt
válasz
szombatitomi #5840 üzenetére
Legtobb terminalon vagy
^V
vagy^@
szokott lenni.
Bar ajanlom, hogy ha file-t (vagy mas inputot) szeretnel olvasni, akkor inkabb hasznald az erre kitalalt "end of transmission" (EOT) karaktert;^D
. -
Domonkos
addikt
válasz
#29810176 #5837 üzenetére
Gondolom azert, mert amikor betolod a szamokat, akkor utanakuldesz egy entert i(esetleg valami mas delim karaktert) ami a getchar() hivasig bufferelodik az stdin-en - es a while feltetelvizsgalatanal ezt olvasod ki es hasonlitod ossze. Szerintem ha eldobnal egy (de lehet hogy tobb) karaktert a getchar elott vagy explicit rahivnal mondjuk az
__fpurge()
-re, akkor mukodne a dolog.
Ezt ugy mondom hogy nem tudtam kiprobalni, szoval bocsi hogy ha nem mukodik ezutan sem. -
-
Domonkos
addikt
válasz
ZTE_luky #5824 üzenetére
Najah - vannak itt gondok.
Egy csomo helyenint
nek szeretnel pointert castolas vagy dereferalas nelkul ertekul adni. Ez nem szokott semmi jora vezetni. pl.:R7 = RC + R1 * 4;
Tovabba a printfekben a format stringek sem igazan korrektek a tipusokat nezve%d
-vel ne akarj pointert kiirni... Azt hiszem hogy a:
-ot is ki kellene escapelned - bar ez nem tuti.
Emellet van meg par dolog ami csak a frissebb szabvanyokkal megy el - bar nem tudom hogy neked melyiknek kell megfelelned.
Amit adtal korabban input file pelda most nem produkal semmi ertelmeset nalam13 utan jobban raerek.
-
Domonkos
addikt
válasz
ZTE_luky #5821 üzenetére
A kep alapjan a masik sejtesem, hogy a
no[]
tombodet indexelheted tul/alul. Egyebkent szarmazhatna meg stack overflow-bol - ha mondjuk benezel egy rekurziot, vagy ha csak olvashato memoriara szeretnel irni stb...
Ha gyorsan ki szeretned deriteni hogy hol a hiba, akkor debuggolj egyet lepesenkent! -
Domonkos
addikt
válasz
ZTE_luky #5819 üzenetére
Modernebb OS-ekben van egy biztonsagi mechanizmus, ami nem engedi hogy olyan memoriaterulethez ferjen hozza a program, ami nem a sajatja. Ha megis megprobalkozik vele, akkor az adott folyamat kap egy SIGSEGV-t, amit a te esetedben nem kezel le semmi -> elszall a program. Valoszinunek tartom, hogy valami olyasmi lehet a hibad, hogy tulindexelsz mondjuk egy tombot vagy nullpointert szeretnel dereferalni. - ezek a leggyakoribbak. Azt neked kellene kideritened hogy hol tortenhet ilyen a kodban es megakadalyoznod / vagy kezelned a szignalt. A kepen a 49. sor potencialisan ilyen.
Probalj meg debugolni egyet! -
Domonkos
addikt
válasz
Milgram1 #5794 üzenetére
Az
adatmodositas
fuggvenyben sem nez ki ez olyan jol:while(n[i].azon!=keres) {
i++;
}
mi van ha olyan azonositot adok meg, ami nem letezik? Azt latom hogy mogotte raellenorzol hogy nem futott-e tul az index, de ha egyszer tulfut, akkor bennragad ebben a ciklusben. Vagy sigsegv-vel kivag... Kellene valami ellenorzesi
-re is.Progteteleket nem tanitanak nektek?
-
Domonkos
addikt
Tipp:
Ha aboole
valtozot csak logikai ertekek tarolasara haszanlod, akkor folosleges az==1
vizsgalat. A nem 0int
az mindig igazra ertekelodik ki. Ha ott van egy redundans ertekvizsgalat, akkor az sokaknak megteveszto lehet.
Hogy olvashatobb legyen a kod, definialhatsz egy sajat tipust azint
re amit logikaikent hasznalsz es tovabbi 2 konstanst az igazra es hamisra (pl.: 1, 0). Onnantol hasonlokepp hasznalhatod oket, mint a magasabb nyelvekben. Vagy ha nagyon kenyelmes vagy, akkor include-olhatod az stdbool.h-t ami lenyegeben az iment leirtakat tartalmazza.
Ú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!
- Napelem
- Heroes of Might & Magic: Olden Era
- Nagyon nem szokványos módon ment tönkre egy ASML gép Kínában...
- Debrecen és környéke adok-veszek-beszélgetek
- OTP Bank topic
- BestBuy topik
- Milyen asztali médialejátszót?
- Assetto Corsa Rally
- Synology NAS
- One otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- Audioquest kábelek RCA, LAN, Optikai
- új iPhone Air 256GB space black asztrofekete független Apple 1 év garancia
- újszerű MacBook Pro M1 256GB SSD Apple magyar space gray
- szinte új iPhone 16 Pro 128GB black titanium fekete titán független Apple 1 év garancia
- újszerű Apple Watch Series 10 GPS 46mm kozmoszfekete alumíniumtok fekete Apple 2 év garancia
- Bomba ár! Dell Latitude 5400 - i5-8GEN I 16GB I 512SSD I 14" HD I HDMI I Cam I W11 I Gari
- LG 27GP850P-B - 27" NANO IPS - 2560x1440 - 180Hz 1ms - NVIDIA G-Sync - AMD FreeSync - HDR 400
- TP-LINK TL-WA850RE 300M vezeték nélküli jelerősítő / 12 hó jótállás
- Bomba ár! Dell Vostro 3560 - i3-3120M I 8GB I 320GB I DVDRW I 15,6" HD I HDMI I Cam I Garancia!
- Ravpower 6000 mAh-s mégis pici powerbank eladó
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő