Új hozzászólás Aktív témák
-
Domonkos
Ármester
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.[ Szerkesztve ]
Gender of electrical connectors is defined by the pins.
-
Domonkos
Ármester
-
Domonkos
Ármester
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?
[ Szerkesztve ]
Gender of electrical connectors is defined by the pins.
-
Domonkos
Ármester
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!Gender of electrical connectors is defined by the pins.
-
Domonkos
Ármester
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!Gender of electrical connectors is defined by the pins.
-
Domonkos
Ármester
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.
Gender of electrical connectors is defined by the pins.
-
Domonkos
Ármester
válasz #29810176 #5834 üzenetére
>Illetve miért -1 van az exit-ben? Nem 0-255 között kellene lennie?
Nem. Az exit() egy intet var, amit aztan osszeesel (bitenkent) 0377-tel, amit aztan az o szuloje kap meg - ami igy mar valoban 0 es 255 koze fog esni...Szerk: Linux alatt.
[ Szerkesztve ]
Gender of electrical connectors is defined by the pins.
-
Domonkos
Ármester
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.Gender of electrical connectors is defined by the pins.
-
Domonkos
Ármester
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
.Gender of electrical connectors is defined by the pins.
-
Domonkos
Ármester
válasz Milgram1 #5843 üzenetére
Az elso problemara: nem zarod be a file-t es mivel az bufferelt, igy valoszinuleg bennragad egy keves adat a vegen amit nem dolgozol fel. Ez egy eros sejtesem.
A masikra kesobb ranezek ha lesz tobb idom, mert az nem tunik ennyire trivinek.Gender of electrical connectors is defined by the pins.
-
Domonkos
Ármester
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[ Szerkesztve ]
Gender of electrical connectors is defined by the pins.
-
Domonkos
Ármester
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;
}Gender of electrical connectors is defined by the pins.
-
Domonkos
Ármester
>char típus : 1 (bájt), előjeles EGÉSZ alapból; -128...127;
Mi ez a hulyeseg? Ki mondta, hogy egy bajt 8 bit? Na meg azt, hogy
signed
specifier nelkul achar
az elojeles?Keress valami jobb tananyagot!
[ Szerkesztve ]
Gender of electrical connectors is defined by the pins.
-
Domonkos
Ármester
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;
}Gender of electrical connectors is defined by the pins.
-
Domonkos
Ármester
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.
[ Szerkesztve ]
Gender of electrical connectors is defined by the pins.
-
Domonkos
Ármester
válasz sztanozs #6010 üzenetére
Nem optimalizalhatna az egeszet ki, mert a nem UB esetekre ugyanannak kell lennie a mellekhatasnak.
Egyebkent tobb architecturan nem is triggerel semmifele interruptot egy 0-val valo osztas - ezert is lett ez UB C-ben.Gender of electrical connectors is defined by the pins.
-
Ú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!
- Hobby elektronika
- Okosóra lett a Huawei fitnesz karperecéből
- Proxmox VE
- Milyen billentyűzetet vegyek?
- Politika
- Mesterséges intelligencia topik
- Elemlámpa, zseblámpa
- Ötletek, javaslatok, hogy még jobb legyen a PH! lapcsalád
- Mobil flották
- Szabadulnak a kínai eszközöktől az amerikai szolgáltatók, de ez sokba kerül
- További aktív témák...
- ASRock Phantom Gaming RX 5700 XT - eladó!
- ÚJ Bontatlan MacBook Pro 14 M3 Pro 11CPU/14GPU 18GB/512GB SSD Magyar billentyűzet Azonnal átvehető.
- BONTATLAN Új Iphone 15 PRO MAX 256-512GB Független 1év Apple GARANCIA Deák Térnél Azonnal Átvehető.
- OLED65GX6LA 2 Év gyári Garancia
- LG OLED55G39LA 2 Év gyári garancia
- Lian Li O11 Dynamic Mini mATX gépház
- Asus Rog Phone 8 5G 256GB Dual SIM Black Emag vásárlás Gyárilag független Csere/beszámítás is!
- Lian Li Uni Fan SL-INF Infinity 120/140mm ventilátorok
- EK Water Blocks EKWB Nucleus AIO CR360 Lux D-RGB
- Új Lenovo Thinkpad X13 Gen2 WUXGA IPS Ryzen5 Pro 5650U 16GB 512GB Radeon RX Vega7 Win11 Pro Garancia
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest