The question is short.
unsigned char c = 1, d = 2; printf("%d %d %d",sizeof(c),sizeof(d),sizeof(c&d)); // выводит 1 1 4 Tell me, why with conjunction the resulting expression becomes type int? The C99 standard clearly states that:
It has been given that it has been approved.
What is the reason? I would be grateful for the answer.