Mam pytanie odnośnie kodu, czy da się go skrócić tak, aby nie trzeba było wypisywać wszystkich tych printfów, domyślam się, że można to zrobić używając wskaźnika, jednak nie bardzo wiem jak to zrobić. I dodatkowo w kodzie musi zostać użyta unia.
#include <stdio.h>
#include<string.h>
#include <stdlib.h>
//22356548
struct u
{
unsigned char bit1 : 1;
unsigned char bit2 : 1;
unsigned char bit3 : 1;
unsigned char bit4 : 1;
unsigned char bit5 : 1;
unsigned char bit6 : 1;
unsigned char bit7 : 1;
unsigned char bit8 : 1;
};
union bit_set
{
unsigned char p;
struct u bits;
};
int main()
{
union bit_set e;
printf("tekst");
scanf("%hhu",&e.p);
printf("%d ",e.bits.bit8);
printf("%d ",e.bits.bit7);
printf("%d ",e.bits.bit6);
printf("%d ",e.bits.bit5);
printf("%d ",e.bits.bit4);
printf("%d ",e.bits.bit3);
printf("%d ",e.bits.bit2);
printf("%d ",e.bits.bit1);
return 0;
}