Как правильно внести с помощью ввода число в переменную char? С помощью scanf?
#include <iostream>
#include <stdio.h>
#include <Windows.h>
using namespace std;
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
char c,
f,
b;
unsigned char n;
unsigned int UnitStateWord;
printf("Введите код состояния (0 - 31) >");
scanf_s("%d", &c);// как вместо этого сделать ввод целого числа в переменную char?
UnitStateWord = ((unsigned char)c & 0x1F) << 11;
return 0;
}
Ответы (1 шт):
Автор решения: Mikhailo
→ Ссылка
В языке С в форматной строке для scanf'ов есть префиксы для %d и %u - h для [unsigned] short int, hh для [signed/unsigned] char, ll для [unsigned] long long int.
Так что у вас достаточно написать
scanf_s("%hhd", &c);