Code:
#include <stdio.h>
void display_union(char c, short s, int i, long l);
union integer_union {
char c;
short s;
int i;
long l;
};
int main()
{
union integer_union value;
printf( "Please enter a char: " );
scanf( "%c", &value.c, "%hd", value.s, "%d", &value.i, "%ld", &value.l );
display_union( value.c,value.s,value.i,value.l);
printf( "Please enter a short: ");
scanf( "%hd", &value.c, "%hd", &value.s, "%d", &value.i, "%ld", &value.l );
display_union(value.c,value.s,value.i,value.l);
printf( "Please enter a int: ");
scanf( "%d", &value.c, "%hd", &value.s, "%d", &value.i, "%ld", &value.l );
display_union(value.c,value.s,value.i,value.l);
printf( "Please enter a long: ");
scanf( "%ld", &value.c, "%hd", &value.s, "%d", &value.i, "%ld", &value.l );
display_union(value.c,value.s,value.i,value.l);
return 0;
}
void display_union( char c, short s, int i, long l )
{
printf( "char c = %c\n", c );
printf( "short s = %hd\n", s );
printf( "int i = %i\n", i );
printf( "long l = %ld\n\n", l );
}