ST語言和C語言關於case of 和switch case語句的區別
阿新 • • 發佈:2018-11-23
C語言中,case後不可直接跟多個常量,要如下圖所示使用(不要忘記defalut)
switch(int,char){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
//todo
break;
defalut: break;
ST語言中,OF後可以用逗號直接將常量隔開,也可以使用省略號表示常量的範圍。
```CASE isignal OF 10,11,12,13..19: bredlight:=FALSE; bgreenlight:=FALSE; byellowlight:=FALSE; IF waittimer.Q AND bXswitch THEN isignal:=20; END_IF 20: bredlight:=FALSE; bgreenlight:=TRUE; byellowlight:=FALSE; IF greentimer.Q THEN isignal:=30; END_IF 30: bredlight:=FALSE; bgreenlight:=FALSE; byellowlight:=TRUE; IF yellowtimer.Q THEN isignal:=40; END_IF 40: bredlight:=TRUE; bgreenlight:=FALSE; byellowlight:=FALSE; IF redtimer.Q THEN isignal:=10; END_IF ELSE: XXXXXXXXX; END_CASE 要用END_CASE結尾,defalut用ELSE代替