Dalsi zahada v C -> Prevod long int na string

Petr Tomasek tomasek na etf.cuni.cz
Úterý Červenec 26 09:02:00 CEST 2011


> >pak neni potreba psat radix>0, anzto v podmince je to ekvivalentni 
> >prostemu radix,
> >tj. testovat na:
> >
> >  (radix&&  (radix<=16))
> >
> 
> Co je samozrejme chybne, ako som sa zmienil v casti, ktoru ste odmazali. 
> radix musi byt >=2. Okrem toho to nebola podmienka v C, to bol slovne 

Dobra, reagoval jsem na ten pseudozapis...

> >Stejne tak v:
> >      do {
> >         s[i++] = "0123456789ABCDEF"[n % radix];
> >     } while ((n /= radix)>  0);
> >
> >to lze daleko jednoduseji zapsat jako:
> >     } while (n /= radix);
> 
> Je to pravda, ale je to opat formalne nespravne. Vysledok vyrazu nie je 
> logicka hodnota.

V c-cku je kazdy vyraz zaroven logickou hodnotou, neni duvod
to "formalne" psat jinak.

P.T.

-- 
Petr Tomasek <http://www.etf.cuni.cz/~tomasek>
Jabber: butrus at jabbim.cz

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
EA 355:001  DU DU DU DU
EA 355:002  TU TU TU TU
EA 355:003  NU NU NU NU NU NU NU
EA 355:004  NA NA NA NA NA
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~




Další informace o konferenci Hw-list