UTNianos

Versión completa: Duda con ejercicio de uniones [final]
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola, tengo una duda sobre un ejercicio de uniones, me parece muy boludo si es así xd..

Enunciado:
Escriba un programa que imprima, byte a byte, los bytes que constituyen una variable long. Utilice uniones para su implementación.



#include <stdio.h>
#include <stdlib.h>
#include <string.h>
union dato{
long x;
char y[4];
};
int main(){

union dato DATOS;
int i;

for(i=0;i<4;i++)
DATOS.y[i]=0;

printf("DATOS.X = %ld \t DATOS.y[3] = %d \t DATOS.y[2] = %d \t DATOS.y[1] = %d \t DATOS.y[0] = %d",&DATOS.x,&DATOS.y[3],&DATOS.y[2],&DATOS.y[1],&DATOS.y[0]);

getchar();
return(0);
}


Muchas gracias..

Off-topic:
Vi post tuyo que decía ejercicio de uniones y pense que era algo de uniones químicas, acá no me meto yo =P
No sé si la catedra te lo aceptará o no (porque estoy en sistemas =P)

Pero es sintactica y semanticamente correcto lo que haces, y ese es el uso que se le da.

Como nota, te falta inicializar x =P.
(01-02-2013 01:50)EmmanuelDG escribió: [ -> ]
Off-topic:
Vi post tuyo que decía ejercicio de uniones y pense que era algo de uniones químicas, acá no me meto yo =P

Jajaja, te agradezco solo por el hecho de pasarte a mirar por si era de química jaja, gracias!!!
Química la deje descansar hasta el 10!, el 10 la agarro de nuevo que se rinde el 13 y mientras sigo con otra(?)

(01-02-2013 01:57)Imakuni escribió: [ -> ]No sé si la catedra te lo aceptará o no (porque estoy en sistemas =P)

Pero es sintactica y semanticamente correcto lo que haces, y ese es el uso que se le da.

Como nota, te falta inicializar x =P.

Ahhh esta bien, entonces entendí bien el ejercicio...
Era una cagada después de todo, pero como relleno para "escribir" algo mas esta bueno ajja.
Muchas gracias!!


Si o si hace falta inicializar todo?
Me equivoque. Ahi vi el codigo de nuevo. Lo inicializas en el for, asi que está de 10

Igual, es mas facil hacer un Datos.x=0

=P
Claro, inicializo el int total son los mismos bytes jaja, gracias!
Tenia la misma duda sobre este ejercicio...muchas gracias!!!
No estoy seguro de cuán al pedo es lo que voy a decir, pero yo pondría un sizeof(long), en lugar de hardcodear el tamaño del vector.
Si también podía ser...
La consigna era muy poca clara..., era un final de 4 prácticos cortos y este era el peor no por el código si no por intentar entender que había que hacer jaja.
URLs de referencia