C/C++printf问题

printf将char输出成16进制时,为什么超过0x79的输出都为FFFFFFxx,小于0x80的输出为xx?

代码如下:

char c = 0x80, c1 = 0x79;

printf("%X %X\n", c, c1);

运行结果:

FFFFFF80 79


哆啦的时光机
浏览 565回答 1
1回答

慕田峪4524236

%X是对unsigned的输出,可是你传入的c,c1是char,类型都不同。
打开App,查看更多内容
随时随地看视频慕课网APP