找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1060|回复: 11
打印 上一主题 下一主题
收起左侧

我的keil c51定义一个无符号变量unsigned char i=999.251编译器没有警告

[复制链接]
跳转到指定楼层
楼主
请问我的keil c51单片机定义一个无符号变量unsigned char i=999.251; 编译器没有警告,如何才能调出来呢。谢谢。。。。。。。。如图




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2022-11-1 10:42 | 只看该作者
c语言的魅力就是这样,随便你瞎写。自由度非常高,当然,后果自负。
回复

使用道具 举报

板凳
ID:123289 发表于 2022-11-1 10:52 | 只看该作者
噢,>256的部是不是被弃了。
回复

使用道具 举报

地板
ID:526108 发表于 2022-11-1 11:20 | 只看该作者
不同类型的变量进行赋值时会进行一次强转,所以这里不会报错
回复

使用道具 举报

5#
ID:509408 发表于 2022-11-1 14:32 | 只看该作者
不会报错,期间只会强制转换。但运行起来和你预期对不对就不知道了
回复

使用道具 举报

6#
ID:1050160 发表于 2022-11-2 09:54 | 只看该作者
理论上最大应该是65535吧,因为是二进制。所以不会报错。
回复

使用道具 举报

7#
ID:958776 发表于 2022-11-2 10:48 | 只看该作者
用float i=9659.32521试试
回复

使用道具 举报

8#
ID:1034262 发表于 2022-11-2 11:17 | 只看该作者
KEIL会按自己的规则来转换,可能不会提醒你。
回复

使用道具 举报

9#
ID:883242 发表于 2022-11-2 12:40 | 只看该作者
克拉玛依 发表于 2022-11-2 09:54
理论上最大应该是65535吧,因为是二进制。所以不会报错。

unsigned  char
255
回复

使用道具 举报

10#
ID:971289 发表于 2022-11-2 14:03 | 只看该作者
编译器会优化掉,printf看看优化后的数
回复

使用道具 举报

11#
ID:939553 发表于 2022-11-2 22:41 | 只看该作者
会自动转换成你定义数据宽度的整型
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表