I've never needed to use unsigned char before, but I've recently became curious about their ability to store integers. Through a little bit of reading I have done I've found that the cast from int to unsigned char is done implicitly, but I have also explicitly added the cast. Either way, the code below does not work and either prints out the alphabet letter equivalent or a small empty box.
printf("%s", "Number: ");
int input;
scanf("%d", &input);
unsigned char num = input;
printf("%c%s%d", num, " = ", input);
return (EXIT_SUCCESS);