SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: 11_8_88 en Lunes 29 de Noviembre de 2010, 10:29

Título: return en swith case
Publicado por: 11_8_88 en Lunes 29 de Noviembre de 2010, 10:29
Hola a todos, ¿es posible usar return dentro de un case?, algo parecido a esto:

Citar
char key_to_channel(uint16 mask)
{
   switch(mask)
   {
           case 1: return 'A';
      case 2: return 'D';
      case 4: return 'G';
      default: return '?';
   }
}
Es que no consigo que me devuelva el caracter;
Un saludo y muchas gracias
Título: Re: return en swith case
Publicado por: m0skit0 en Lunes 29 de Noviembre de 2010, 11:33
Sí, pero es mala programación. Deberías hacerlo tal que:

Código: C
  1. char key_to_channel(uint16 mask)
  2. {
  3.     char ret = '?';
  4.     switch(mask)
  5.     {
  6.         case 1:
  7.             ret = 'A';
  8.             break;
  9.         case 2:
  10.             ret = 'D';
  11.             break;
  12.         case 4:
  13.             ret = 'G';
  14.             break;
  15.     }
  16.    
  17.     return ret;
  18. }
  19.  
Título: Re: return en swith case
Publicado por: 11_8_88 en Lunes 29 de Noviembre de 2010, 12:59
Muchas gracias, conseguí que funcionara como yo lo escribí, pero prefiero tu opcion.

Un saludo.