我試圖用這段代碼讀取0到255之間的值(無符號字符)。使用scanf讀取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」型預計「無符號整數*」,但實參2的類型爲「無符號字符*」
,這是我對這一計劃的輸出。
請輸入一個數字從0到255 值是45 分段故障
我這樣做,同時運行此代碼得到分段錯誤。
什麼是使用scanf讀取無符號字符值的最佳方法?
使用%c讀取一個字節 – TJD
實際上'%hhu'爲'unsigned char'。 – Joe
@TJD。我不想讀取字符。我想讀取0到255之間的值。 – user1293997