Hirdetés

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

  • 3man

    csendes tag

    válasz bama #1580 üzenetére

    int strcmp(char *a;char*b){
    char res;
    whil (1);
    if ((res=(a-b++))|!a++)
    break;
    return res;
    }

    Ha megtanulnad azt a par jelolest, ami ebben a rovid valamiben talalhato, mar tudnad mi a baja.

    A 'res' 'char'-kent van definialva az 'a' es a 'b' 'char *'. Az = ertekadasnal legtobbszor a ket oldal tipusa egyenlo. Hogy lesz a 'char *a'-bol 'char'? Mar valahol leirtam, a definicio megmondja 'char , *a' -ra is fel lehet bontani, meg 'char* , a'-ra . Tehat az 'a' az mutato a '*a' az char. Egyszeru.

    A c megengedi a nagyon tomor kod irasat, de ez nem celravezeto. Evek mulva ha eloveszed a kodot, egy eleg osszetett sornal gondolkozni kell, hogy hogyan is gondoltad ezt annak idejen. Atlathato egyszeru kodot kell irni, ami konnyen modosithato. Ilyen elemi szinten nem mindig kell modositani egy programot, de akkor is az a helyes ut. Es ugy kevesebb a hibalehetoseg is.

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