これがコードです
void main()
{
unsigned char n,t;
scanf("%hhu %hhu",&n,&t);
printf("%hhu %hhu",n,t);
}
問題は、それぞれ 5 と 1 を入力すると、出力が 0 と 1 になることです。nの場合は 0 、 tの場合は1 です。ただし、型を char から int/unsigned に変更すると、出力は期待どおりに正しく、5 と 1 になります。
問題は、char を使用して (数値) 入力を要求すると、無効な値が返される理由です。