[经验分享] C51 printf格式化输出特殊用法

[复制链接]
1558|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               自动选择合适的表示法
━━━━━━━━━━━━━━━━━━━━━━━━━━


您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

3098

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部