• Viernes 8 de Noviembre de 2024, 20:12

Autor Tema:  return en swith case  (Leído 1509 veces)

11_8_88

  • Miembro activo
  • **
  • Mensajes: 84
    • Ver Perfil
return en swith case
« en: Lunes 29 de Noviembre de 2010, 10:29 »
0
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

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: return en swith case
« Respuesta #1 en: Lunes 29 de Noviembre de 2010, 11:33 »
0
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.  

11_8_88

  • Miembro activo
  • **
  • Mensajes: 84
    • Ver Perfil
Re: return en swith case
« Respuesta #2 en: Lunes 29 de Noviembre de 2010, 12:59 »
0
Muchas gracias, conseguí que funcionara como yo lo escribí, pero prefiero tu opcion.

Un saludo.