C语言中关于%hhd的 格式化输出

qq_31772745 2019-04-13 01:14:09
C语言中的%hhd 到底是啥意思啊
printf(“%hhd”,12345);
输出还是12345
但是视频上说的是57
到底咋回事啊 谁来解释一下
...全文
6817 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
636f6c696e 2019-04-15
  • 打赏
  • 举报
回复
你可以理解成%256
周末ZhouMo 2019-04-13
  • 打赏
  • 举报
回复 2
首先是“%hhd”的意思:以signed char的类型打印整数; 可以看这个https://blog.csdn.net/k346k346/article/details/52252626 我的电脑运行出来是57,12345的二进制是0011 0000 0011 1001,16位, signed char类型的长度是8位,所以只打印了后面的8位0011 1001 ,也就是十进制的57. 你的输出了12345,应该是编译器不支持C99
自信男孩 2019-04-13
  • 打赏
  • 举报
回复
#include <stdio.h>

int main(void)
{
int a = 12345;

printf("%hhd\n", a);
return 0;
}


结果输出的是57,

%hhd:把整数读作signed char 或 unsigned char
最初的梦10 2021-12-03
  • 举报
回复
@自信男孩 为什么我输入你的编程答案不对

33,319

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧