永发信息网

在keil c中把变量定义成unsinged char型和定义成unsigned int型对pintf函数的输出有什么影响

答案:3  悬赏:20  手机版
解决时间 2021-01-31 13:16
如果把 Key_State_Value定义成INT8U,在仿真时串口输出的是0,256,512,768,1024.
如果把Key_State_Value定义成INT16U,在仿真时串口输出的是0,1,2,3,4. 这个是我想要的,只是不明白为什么定义成INT8U型就不行呢

完整的程序如下:
#include
#include
#define INT8U unsigned char
#define INT16U unsigned int
sbit Key1 = P1^0;
sbit Key2 = P1^1;
sbit Key3 = P1^2;
sbit Key4 = P1^3;
sbit Key5 = P1^4;
INT8U Key_State_Value;
int main(void)
{
SCON = 0x52;
TMOD = 0x20;
TCON = 0x59;
TH1 = 0x0f3;
while(1)
{
if(Key1 == 0)
Key_State_Value = 0;
if(Key2 == 0)
Key_State_Value = 1;
if(Key3 == 0)
Key_State_Value = 2;
if(Key4 == 0)
Key_State_Value = 3;
if(Key5 == 0)
Key_State_Value = 4;
printf("%d\n",Key_State_Value);
}
return 0;
}
最佳答案
keil中的库函数printf与C语言中的是不同的,它要求输出的变量必须是整型的,即 int ,
在头文件stdio.h中有定义:extern int printf (const char *, ...);
全部回答
你看看那个函数需要什么样的参数
printf打印估计做了位的扩充,以32或者16位打印整形 再看看别人怎么说的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
丰华汽车修理(湖州长兴县太平洋商贸城9幢3)地
五星比三角多15个,( )和( )比,( )多,( )少.(
歌词淋我一场大雨下一句是啥
丝网印刷的网版张网角度是个什么概念?太阳能
有一个软件拍照把头p成老虎或动物的
2017精密铸造环评入门
潜江市永兴物流有限公司地址有谁知道?有点事
福田汽车(湖州安吉县浦源大道1131)地址在什么
阳极是什么意思
染色体检查46xx,t2,16怎么回事
材料一 2004年至2007年,广东省财政共安排17
我租了一辆车又借了给朋友,在我不知道的情况
士尔其旅游多少钱
哈飞汽车技术服务中心地址在什么地方,我要处
红楼梦中女性人物的特征
推荐资讯
有的内衣穿出乳沟有的不行为什么
佛山市南海区林岳社区民警中队地址好找么,我
张公圣君出生日期
3×3魔方.7步的公式
求近五年高考理综全国卷2的试题,及其详细答
金甲?风奥金甲是什么?
死人见光了之后该怎么办
小说男二号和女二号叫幕云海,王子熙的小说
荣事达智能洗衣生活馆地址在什么地方,我要处
县城手机店卖的苹果手机会是翻新机吗?他说原
精诚国旅地址好找么,我有些事要过去
关于劳动合同个延迟交社保,是否可以要求赔偿
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?