打印
[经验分享]

C51 printf格式化输出特殊用法

[复制链接]
1163|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fengm|  楼主 | 2024-4-14 20:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
无符号16位数格式符用%d或者%u,千万不能加字母“l”,否则会出错
32位数据格式符必须加字母“l”,否则会出错
8位数据格式符要加字母“b”,例如%bd、%bu

在Keil C51中用printf输出一个单字节变量时要使用%bd,如
unsigned char counter;
printf(“Current count: %bd\n”, counter);//输出8位”十进制有符号整数”
printf(“Current count: %bx\n”, counter);//输出8位”无符号以十六进制表示的整数”

而在标准C语言中都是使用%d:
printf(“Current count: %d\n”, counter);

1. 格式化规定符
Turbo C2.0提供的格式化规定符如下:
━━━━━━━━━━━━━━━━━━━━━━━━━━
符号                   作用
──────────────────────────
%d               十进制有符号整数
%u               十进制无符号整数
%f               浮点数
%s               字符串
%c               单个字符
%p               指针的值
%e               指数形式的浮点数
%x, %X           无符号以十六进制表示的整数
%0               无符号以八进制表示的整数
%g               自动选择合适的表示法
━━━━━━━━━━━━━━━━━━━━━━━━━━


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

2770

帖子

2

粉丝