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

  • Jester01

    veterán

    válasz emitter #1000 üzenetére

    A foglaláskor és a felszabadításkor a belsõ ciklusban cella[i] kell, hiszen az i. sort (oszlopot) piszkáljuk. Általában (persze nem mindig) eleve gyanúsak az olyan ciklusok amelyek magjában nincs hivatkozás a ciklusváltozóra. Te pedig ugyanazt a változót írtad felül úrja meg újra.

    A bekérõ kód kicsit zavarosra sikerült, a végtelen ciklustól eltekintve is.
    A temp változót fölösleges kinullázni, hiszen úgyis értéket adsz neki.
    A típusa feltehetõleg int, mivel a scanf azzal tér vissza. Márpedig ha ez így van, akkor ne NULL-lal hasonlítsd össze, mert az pointer.
    Az az összehasonlítás egyébként teljesen felesleges, hiszen a kilépési feltétel elegendõ. Nézd meg hogyan lehet bekapcsolni a figyelmeztetéseket a fordítóban, szokott segíteni. Gcc pl. a fenti összehasonlításért is szól:
    warning: comparison between pointer and integer.

    A végtelen ciklus pedig azért van, mert a scanf abbahagyja a beolvasást az elsõ olyan karakternél amit nem tud értelmezni. Igy aztán legközelebb megint belefut. Ki kell ûríteni az input puffert, pl. ilyesmivel:

    while(getchar() != '\n');


    [Szerkesztve]

    Jester

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