Имам този наследен код, който анализирам:
If (X) then
if Cnt < 4 then Cnt = Cnt + 1 ; 4 samples
Else
if Cnt > 0 then Cnt = Cnt-1 ; keep history
EndIf
Което има Cnt
върви нагоре и надолу в зависимост от X
И се чудя дали това друго изявление действа така, както тяхното отстъпление предполага, че те мислят, че е така.
Кодът може да се тълкува по-скоро като:
If (X) then
if Cnt < 4 then
Cnt = Cnt + 1 ; 4 samples
Else
if Cnt > 0 then
Cnt = Cnt-1 ; keep history
EndIf
В което Cnt
достига до 4 и след това се включва/изключва, ако X е вярно.
Това е основно, компилирано с помощта на BCI51. Това е основен компилатор за 8051 от 1990 г. от Systronix.
Как вложените двойки if-else се разрешават в основния?