[elektro] C mégegyszer (SWITCH)

potyo potyo.ada at gmail.com
Wed Apr 7 11:56:40 CEST 2010


Egyik megoldás, hogy betenni mindkét helyre ugyanazt a kódot, a
fordító meg talán észreveszi és optimalizál. Csak egy ágról kellene
továbbmenni, vagy többről is? Előbbi esetben lehet így, vagyis a break
kimarad a case 4 végéről:
case 4:
  printf("4");
default:
  a=0;
break;

2010/4/7 hg12345 <hg12345 at freemail.hu>:
> Hi!
>
> Létezik C-s megoldás a SWITCH-en belül egy ág végrehajtása után egy meghatározott CASE ágon folytassa a program a futását?
>
> switch(a){
>  case 1:
>    break;
>
>  case 4:
>    printf("4");
>    goto "DEFAULT";
>  case 8:
>    break;
>
>  case 38:
>    printf("38");
>
>  default:
>    a=0;
>    break;
> };
>
> Nem ez a program, de a default ágban van a programnak defenziv része, azok az ágak amik befejeződtek, itt szeretném befejezni.
>
> Az automatikusan definiált ASM címkékkel nem lehet mit kezdeni .Lxxx nem egyértelmű a megnevezése
>
> Természetesen megoldható egy plusz CIMKE bevezetésével, de egy C szerű megoldásnak jobbak örülnék.
>
> -----------------------------------------
>          elektro[-flame|-etc]
>



More information about the Elektro mailing list