Я пытаюсь использовать этот код для чтения значений от 0 до 255 (без знака char).
#include<stdio.h>
int main(void)
{
unsigned char value;
/* To read the numbers between 0 to 255 */
printf("Please enter a number between 0 and 255 \n");
scanf("%u",&value);
printf("The value is %u \n",value);
return 0;
}
Я получаю следующее предупреждение компилятора, как ожидалось.
warning: format '% u ожидает тип' unsigned int *, но аргумент 2 имеет тип 'unsigned char *
И это мой вывод для этой программы.
Введите число от 0 до 255 45 Значение 45 Ошибка сегментации
Я получаю ошибку сегментации при запуске этого кода.
Каков наилучший способ чтения значений без знака char с помощью scanf?