Ich versuche, diesen Code zu verwenden, um Werte zwischen 0 bis 255 (unsigned char) zu lesen.Verwenden von Scanf zum Lesen eines 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;
}
Ich bekomme die folgende Compiler-Warnung wie erwartet.
Warnung: Format ‚% u‘ erwartet ‚unsigned int *‘ eingeben, aber Argument hat 2 ‚unsigned char *‘
Und das ist meine Ausgabe für dieses Programm eingeben.
Bitte geben Sie eine Zahl zwischen 0 und 255 Der Wert 45 ist Segmentation fault
ich die Segmentation Fault zu tun bekommen, während Sie diesen Code ausgeführt wird.
Was ist der beste Weg, unsigned char-Werte mit scanf zu lesen?
% c verwenden, um ein Byte zu lesen – TJD
Eigentlich '% hhu' für' unsigned char'. – Joe
@TJD. Ich möchte keinen Saibling lesen. Ich möchte Werte zwischen 0 und 255 lesen. – user1293997