我正在尝试使用此代码读取 0 到 255 ( unsigned 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;
}
我确实按预期收到了以下编译器警告。
警告:格式“%u”需要类型“unsigned int *”,但参数 2 的类型为“unsigned char *”
这是我对这个程序的输出。
请输入 0 到 255 之间的数字 45 值为 45 分段故障
运行此代码时,我确实遇到了分段错误。
使用读取unsigned char
值的最佳方法是什么scanf
?