Мне никогда не приходилось использовать unsigned char раньше, но мне недавно стало любопытно их способность хранить целые числа. Благодаря небольшому чтению, которое я сделал, я обнаружил, что приведение из int в unsigned char выполняется неявно, но я также добавил явное добавление. В любом случае приведенный ниже код не работает и либо распечатывает эквивалент букв алфавита, либо небольшой пустой ящик.Преобразование int в unsigned char в C
printf("%s", "Number: ");
int input;
scanf("%d", &input);
unsigned char num = input;
printf("%c%s%d", num, " = ", input);
return (EXIT_SUCCESS);
Он будет печатать эквивалентный алфавит до тех пор, пока вы его не переполните, в этом случае не печатает ничего, как 0. – Ouss4
используйте '% hhu' вместо'% c'. (если вы используете MSVC, используйте '% u') – BLUEPIXY