[elektro] C mégegyszer (SWITCH)

Abraham Gabor abraham at plus7.hu
Wed Apr 7 11:58:37 CEST 2010


> 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.

Nem ertem. Ha goto-t akarsz hasznalni, miert baj a plusz cimke ?

A case 38 "lecsorgatasa" a default-ra ugyan megfelel a nyelvnek, de
szerintem kerulni kell. Egyszer valakinek eszebe jut, hogy kell egy
case 39 is, es a sor vegere irja, aztan napokig fogja a hibat keresni.

Gabor
----------------------------------------------------------------
Ábrahám Gábor                           http://cdtransport.atw.hu/
7+ Számítógép Hálózati Kft.             Tel : (06-1) 248-3214
1118, Budapest, Homoród u. 17.          Fax : (06-1) 248-3216




More information about the Elektro mailing list