Hirdetés

Új hozzászólás Aktív témák

  • axioma
    veterán

    Sziasztok!

    Segítenétek nekem? Itt ez a kód ami arabból csinál római számokat, alapból úgy írtam meg, hogy sztringként tér vissza és csa 1 int változót kell neki megadni, de a feladat amibe szükségem van rá, úgy köveleti meg ahogy most van. A gondom az, hogy amíg az előbb említett verzióban volt akkor tökéletesen működött, viszont az átírt verzióval valami gond van, mert ha az egyesek helyi értékén 0tól különböző szám van akkor csak memória szemetet ír ki...
    Pl. ha 960-at akarok átváltani akkor minden oké, de ha 969-et, 58-at vagy 3-at akkor mindig az előbb említett jelenség jön elő és nem jövök rá mi a gond.

    A kód

    Eloszor is a 12. sorban (4*n, char) a parameter es nem char*, bar ez nem okozhatja elvileg a hibat (bar odaillobb lenne egy +1 is az elsohoz, a 888 lezaro nullaja miatt).
    Masodszor en nem vagyok ennyire benne a C-s stringfuggvenyekben es most utananezni sincs kedvem, de a feltuno kulonbseg az, hogy az n==1-nel nem strcat-olsz. Azt gyanitanam, hogy a stringvegzodest jelzo nullat az a fuggveny rantja a tobbinel helyre.

Új hozzászólás Aktív témák