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

  • Jester01

    veterán

    válasz Rickazoid #2895 üzenetére

    Igen, pár változó maradt ki. Ami jelen esetben (is) nagyon fontos volt mivel a típusuk, a méretük és a sorrendjük nagyban befolyásolhatja a program működését. Igen, kitaláltam nagyjából mik lehettek.

    "Ezen felül, a buffer2 és buffer3 tömbök induláskor nincsenek inicializálva"
    Ez nem is tudom mit jelent.

    Azt jelenti, hogy C-ben a lokális változók tartalma induláskor nem definiált. Tehát bármi lehet benne. Ezért rossz, ha te valamit keresel benne.

    Az általam tanultak szerint a while(Name[I][l]=buffer3[l++]); kifejezés megfelelő.

    Nem az, mivel a szabvány szerint nem szerepelhetne benne l és l++ is. A működése ugyanis attól függ, melyik értékelődik ki hamarabb és ezt a szabvány nem definiálja. Ha a jobb oldal számítódik ki először, akkor oda az l eredeti értéke helyettesítődik, de a bal oldalra már a növelt érték kerül. Fordított sorrendben mindkét helyre az eredeti érték kerül.

    kellett valami, ami kinullázza a tömb tartalmát

    Tehát a tömböt akarod kinullázni. Van neki mérete, tessék szépen végigmenni rajta és kinullázni. for(l = 0; l <= size; ++l) buffer2[l] = 0; (mivel ugye a tömböd mérete size + 1 volt.

    Aki nem a debugger használatát tanítja először fejbe kellene kólintani.

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

Hirdetés