【发布时间】:2020-03-17 07:15:24
【问题描述】:
我刚刚开始使用十六进制值(c 语言),下面是代码:
int main(){
unsigned char x, y, z;
scanf("%x", &x);
scanf("%x", &y);
scanf("%x", &z);
printf("val are: %x, %x, %x\n",x,y,z);
return 0
}
在上面的代码中,为什么x和y的值会丢失/覆盖,我该如何解决?
【问题讨论】:
-
你能解释一下我做错了什么吗?
-
@HARSHGUPTA 你使用了
%x而不是%2hhx。那是你做错了。 -
节省时间,启用所有编译器警告。