Prosba o pomoc - nechapu zapis v C

Jan Waclawek konfera na efton.sk
Pondělí Listopad 21 03:01:35 CET 2022


> ty leve dve tretiny jsou test nenulovosti 

Lava jedna tretina je test nenulovosti.

> Jakou vyhodu to ma proti variante typu treba:
>  
> if ( (DecOff > 0 ) && ( DecOff < millis() ) )

Ziadnu, je to len charakteristicke ceckarske machrovanie. A je v tom aj to
tiez charakteristicke setrenie klavesnice.

Okrem pravidiel precedencie pri vyhodnocovani operatorov sa tu vyuziva aj
to, ze operator && ma presne urcene poradie a sposob vyhodnotenia
operandov, menovite sa vyhodnocuje ako prvy lavy operand, a ak je nulovy,
pravy operand sa nevyhodnocuje.

Toto je casto sa opakujuci vzor, aj ked typicky je v "lavej tretine"
smernika, t.j. je to vyhodnotenie, ci ten smernik nie je NULL; a v
"pravych dvoch tretinach" je nejaky vyraz ktory vyuziva ten smernik
(obvykle ukazujuci na nejaku strukturu).

wek



----- Original Message ---------------

Zdravim,

obracim se na zdejsi Cckare, protoze na tohle muj rozum nestaci a moyna je 
tam neco, co nevidim.

V (cizim) kodu mam takhle postavenou podminku:


if ( DecOff && DecOff < millis() )
{
   ...
}

pricemz v unsigned long DecOff jsou bud nejake milisekundy (pred millis() 
nacita cas) nebo nula, pokud neni funkce aktivni.

Nejak nejsem s to pobrat, jak ta podminka funguje - ty leve dve tretiny
jsou 
test nenulovosti a pokud neni nulovy, provede se porovnani? Jakou vyhodu to 
ma proti variante typu treba:

if ( (DecOff > 0 ) && ( DecOff < millis() ) )

(omlouvam se, miluju zavorky a desne nerad se spoleham na priority) Jasne, 
ta moje varianta ma vic znaku, takze se vic unavi ruka, ale zda se mi to 
jako logictejsi zapis. Ma to jeste nejaky technicky duvod, proc (a pripadne 
kdy) pouzit ten prvni zapis?

Nejhorsi na tom je, ze to funguje a pije mi krev, ze bud nevim proc, nebo, 
pokud jsem funkci identifikoval spravne, neprinutim mozek, aby ho to
napadlo 
prave takhle :)

Diky.

Pavel Kutina





_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list