Ver Mensaje Individual
  #4 (permalink)  
Antiguo 04/12/2013, 11:52
Avatar de guzzano
guzzano
 
Fecha de Ingreso: julio-2010
Ubicación: Isla de Margarita
Mensajes: 162
Antigüedad: 13 años, 9 meses
Puntos: 13
Respuesta: Error al definir mi propia función

Cita:
Iniciado por Verraco Ver Mensaje
Quedaría así? lo siento por mi torpeza, pero esq me sigue pasando lo mismo :/

Muchas gracias :)

Código:
#include <stdio.h>

int obtclase (unsigned short a);

int main()
{
int aux;
unsigned short ins;
int clase;

printf ("EJERCICIO 6, 7 y 8.\n\n");

printf ("Dame una instruccion en hexadecimal: ");
fflush (stdin);
scanf ("%x", &aux);

ins=aux;
clase=obtclase(ins);

printf ("La clase de la instruccion %4.4X es %d\n", ins, clase);
return 0;
}

int obtclase (unsigned short a)
{
int clase;
unsigned short a;
clase = (a>>14)&3;

return clase;
}
Buenas, con:
int obtclase (unsigned short a) ya no te hace falta definir otra vez abajo el unsigned short a.

Código C:
Ver original
  1. #include <stdio.h>
  2.  
  3. unsigned short
  4. obtclase (unsigned short a)
  5. {
  6.   static int aux = 0;
  7.   aux = (a >> 14) & 3;
  8.  
  9.   return aux;
  10. }
  11.  
  12. int main()
  13. {
  14.   int aux;
  15.   unsigned short ins;
  16.  
  17.   printf("Dame una instrucción en hexadecimal: ");
  18.   scanf("%x", &aux);
  19.  
  20.   ins = aux;
  21.  
  22.   printf ("La clase de la instruccion %4.4X es %d\n", ins, obtclase(ins));
  23.   return 0;
  24. }

Así debería funcionar, de casualidad, ¿qué instrucción hexadecimal le das para que te de como resultado un número diferente a 0?