今天又碰到C语言的问题了
#include <stdio.h>
int main(void)
{
unsigned char uc1 = 0x256;
unsigned char uc2 = 12;
printf ("%d %d | %x %x\n",
uc1, uc2, uc1, uc2);
return 0;
}
他的输出值是啥呢?
对于C语言的char int类型真的很混人啊,查了些资料感觉int 跟 char 很暧昧,啊啊啊啊
为什么会输出 86 12 | 56 c 啊!86,56, c都是从哪来的啊!为什么我用计算器在8.16.10之间来回戳都戳不出结果啊……
[解决办法]
unsigned char最大256,大于256则取模
因此
uc1=0x56=86
uc2=0x0c=12
[解决办法]