因为输出的时候用的是%d,char在计算机内部存储的时候实际是存储了对应的ascii码,使用%d打印即将ascii码本身打印出来你无法输出是因为你的%和d写反了有帮助望采纳~
char a=8等价于char a=0x08;a>>3就是a右移3位,右移3位相当于除以2的3次方,也就是除以8,结果就是0x01,用%d输出,0x01转成整型也就是0x00000001,也就是数字1