Tôi đang cố gắng sử dụng mã này để đọc các giá trị trong khoảng từ 0 đến 255 (unsigned char).Sử dụng scanf để đọc một ký tự chưa được ký
#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;
}
Tôi nhận được cảnh báo trình biên dịch như mong đợi.
cảnh báo: định dạng ‘% u’ hy vọng gõ ‘unsigned int *’, nhưng lập luận 2 có kiểu ‘unsigned char *’
Và đây là kết quả của tôi cho chương trình này.
Vui lòng nhập một số từ 0 đến 255 Giá trị là 45 Segmentation lỗi
tôi làm được những lỗi segmentation khi chạy mã này.
Cách tốt nhất để đọc giá trị char chưa ký bằng cách sử dụng scanf là gì?
sử dụng% c để đọc một byte – TJD
Thực ra '% hhu' cho' unsigned char'. – Joe
@TJD. Tôi không muốn đọc một char. Tôi muốn đọc các giá trị từ 0 đến 255. – user1293997