Flustrace při pondělku
Pavel Kudrna
Pavel.Kudrna@mff.cuni.cz
Úterý Srpen 5 14:54:39 CEST 2008
Jindrich Kubec wrote:
> At 10:53 5.8.2008, Pavel Kudrna wrote:
>
>> Vyzkousejte v MPLABu tohle:
>>
>> if 1 && 1+1*2==4
>> messg "bug"
>> else
>> messg "ok"
>> endif
>>
>
> jaka je precedence operatoru? Treba je to takhle? Kdyby se ozavorkovalo,
> bylo by jasneji, zda je nebo neni bug.
> 2==4 ->0, 1*2==4 ->0, 1+1*2==4 -> 1, 1&&1 -> 1?
>
Priorita je jasna: nasobeni, plus, ==, &&, viz help MPASM, heslo
Arithmetic operators
and precedence.
Je to bug, reportoval jsem ho vloni v zari, tenkrat byl mplab verze 7.x.
Potvrdili, ze bug
je reprodukovatelny, a ze pry to predaji tymu programatoru.
Ted v MPLABu 8.1 to neni stale opraveno...
Kdyz se odstrani to "1 &&" tak to funguje, kdyz se nahradi "0 ||" tak ne.
Pomuzou zavorky kolem (1*2), (1+1*2) nebo kolem celeho (1+1*2==4).
Nojo, ale kdyz neumi prioritu kde je jistota, ze vzdy poslechne zavorky?
Ten evaluator vyrazu je esotericky a neco v tech plenkach bude.
PK
Další informace o konferenci Hw-list