首页新闻找找看学习计划

C/C++printf问题

0
悬赏园豆:5 [已解决问题] 解决于 2017-12-04 16:11

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

代码如下:

char c = 0x80, c1 = 0x79;

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

运行结果:

FFFFFF80 79

c c++
水墨的心的主页 水墨的心 | 菜鸟二级 | 园豆:361
提问于:2017-12-04 15:21
< >
分享
最佳答案
0

%X是对unsigned的输出,可是你传入的c,c1是char,类型都不同。

收获园豆:5
窗户 | 菜鸟二级 |园豆:432 | 2017-12-04 15:58

明白了,多谢!

水墨的心 | 园豆:361 (菜鸟二级) | 2017-12-04 16:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册