// Antes de operar, lo que es más chico que un int se convierte a int.
#include <stdio.h>

int main(void) {
    unsigned char a = 200;
    unsigned char b = 100;

    int sum = a + b;
    unsigned char small_sum = a + b;
    printf("sum = %d, small_sum = %d\n", sum, small_sum);
    printf("sizeof(a) = %zu, sizeof(a + b) = %zu\n", sizeof(a), sizeof(a + b));

    unsigned char top = 255;
    printf("top + 1 == 0: %d\n", top + 1 == 0);

    unsigned int big_top = 4294967295u;
    printf("big_top + 1 == 0: %d\n", big_top + 1 == 0);
    return 0;
}
