Hirdetés

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

  • doc
    nagyúr

    Bedobva a fordítóba, már rögtön a bool után hiányol valamit.

    Ha jól értem:
    bool isempty(char *s) - itt az *s lesz az a string, amit vizsgálunk.

    char *p; -csinál egy pointert. De ez most mutat valamire? Vagy csak üres tömb?

    for (p=s; *p; ++p) - itt a kezdőérték mi? A p megkapja az s elemeit? A feltétel meg az hogy amíg van eleme, és addig a ++p lépteti az elemeket?

    if (*p != ' ' && *p != '\t') - itt a space és a tab vizsgálat van, ez tiszta.

    Hogyan tudnám összehozni a dolgot mondjuk egy scanf-el? Az argv dolog szerintem itt nm jó, mert annak alapból az első eleme a file neve. A t. tanárúr nem szereti a scanfet, de kipróbálni jó lenne.

    Régen volt a C, lua-ban csináltam pár dolgot az elmúlt 2 évben, az sokkal egyszerűbbnek tűnik egyenlőre.

    ja igen, a bool nem C-s tipus (nagyon regota C++ -ozok :D). a bool-t csereld ki int-re, a false-t 0-ra, a true-t meg 1-re es jo lesz

    char *p; -csinál egy pointert. De ez most mutat valamire? Vagy csak üres tömb?
    mivel erteket nem adtal neki, 'sehova' nem mutat, pontosabban de, csak teljesen random helyre (igy ha pl irni akarsz oda, akkor jo esellyel egybol segfaultot kapsz)

    for (p=s; *p; ++p) - itt a kezdőérték mi? A p megkapja az s elemeit? A feltétel meg az hogy amíg van eleme, és addig a ++p lépteti az elemeket?
    a p ugyanoda fog mutatni ahova az s, vagyis a string elso karakterere
    a *p azt a karaktert jelenti, ahova a p mutat. mivel C-ben a 0 hamis, a nem 0 pedig igaz, ez a feltetel akkor teljesul, ha *p nem 0. vagyis ha elertuk a string veget jelzo 0-t, a feltetel hamis lesz, es a ciklusnak vege

    a fuggvenynek semmi koze a scanf-hez, olyan stringgel hivod meg amilyennel akarod, ez nyilvan lehet egy scanf-el bekert is
    amugy a scanf valoban az ordog muve, ne hasznald :D nincs pl semmi ellenorzes a hosszra, igy ha kicsi tombot foglalsz neki akkor egybol el is crashel a programod. azonkivul a whitespace karaktereket (pl space) mezoelvalasztonak fogja fel, tehat ha space-t is tartalmazo stringet akarsz beolvasni, akkor nem mesz vele sokra :)

    erre szokas irni ellenorzott getline fuggvenyt, Gyorben pl. Bauer is 'kiadott' egyet, amit nyugodtan lehet hasznalni vizsgan is

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