-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
-
Frissítve: 2014-04-25 14:12 Téma összefoglaló
Új hozzászólás Aktív témák
-
Domonkos
addikt
-
Domonkos
addikt
-
Domonkos
addikt
-
Domonkos
addikt
-
Domonkos
addikt
-
Domonkos
addikt
-
Domonkos
addikt
-
Domonkos
addikt
-
Domonkos
addikt
Ha a 0-val valo osztas UB, akkor garantalja-e azt valami, hogy egy ilyen kod eseten az
ifis biztosan belefordul a gepi kodba (es persze hogy areturn 69is marad)?int
d(int j)
{
if (j != 0)
return 100/j;
return 69;
} -
Domonkos
addikt
-
Domonkos
addikt
-
Domonkos
addikt
-
Domonkos
addikt
-
Domonkos
addikt
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
-
Domonkos
addikt
-
Domonkos
addikt
-
Domonkos
addikt
-
Domonkos
addikt
-
Domonkos
addikt
-
Domonkos
addikt
-
Domonkos
addikt
Legtobb terminalon vagy
^Vvagy^@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
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
-
Domonkos
addikt
Najah - vannak itt gondok.
Egy csomo helyenintnek 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 nalam
13 utan jobban raerek.
-
Domonkos
addikt
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
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
Az
adatmodositasfuggvenyben 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
-
Domonkos
addikt
Tipp:
Ha aboolevaltozot csak logikai ertekek tarolasara haszanlod, akkor folosleges az==1vizsgalat. A nem 0intaz mindig igazra ertekelodik ki. Ha ott van egy redundans ertekvizsgalat, akkor az sokaknak megteveszto lehet.
Hogy olvashatobb legyen a kod, definialhatsz egy sajat tipust azintre 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
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Filmvilág
- Dupla telefotót kaphat a Mate 90 Pro Max
- A fociról könnyedén, egy baráti társaságban
- Haldoklik az internet: egyre több weboldalt készít az AI
- Milyen videókártyát?
- Telekom mobilszolgáltatások
- Saros (PS5)
- Rap, Hip-hop 90'
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Milyen légkondit a lakásba?
- További aktív témák...
- ÁRGARANCIA! Épített KomPhone Ultra 7 265KF 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- AKCIÓ! Lenovo LOQ 15AHP10 FHD GAMER notebook - Ryzen7 250 16GB DDR5 1TB SSD RTX 5060 8GB
- HIBÁTLAN iPhone 13 128GB Blue- 2 ÉV GARANCIA - Kártyafüggetlen, MS4920, 100% Akksi
- iPhone 14 128GB 100% (1év Garancia)- ÚJ EREDETI AKKUMULÁTOR - AKCIÓ
- 27% - DDR5 Notebook 16GB / 32GB / 48GB RAM
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest






