printf的问题

jsytdx   2007-2-3 20:35 楼主
请问,我在Keil下写的程序
  
   #include
   #include
   
void main(void)
{           
       SCON=0x50; //串口方式1,允许接受
       TMOD=0x20; //定时器1定时方式2
       TCON=0x40;//设定时器1开始计数
       TH1=0xE6;//12MHZ1200波特率
       TL1=0xE6;
       TI=1;
       TR1=1;//启动定时器

       P0=0x3d;
       printf("P0:\n");
}
   
   运行后结果怎么是:3d00

回复评论 (3)

编译器自动扩展了
不过:

printf("P0:\n");
这段代码不应该出值才对
如果不出意外想打印P0的值应该是:
printf("%d",P0);
点赞  2007-2-3 22:25
呵呵。你也碰到同样的问题了。这是printf的缺陷。我后来是自己做的转换了。
点赞  2007-2-3 22:26
你的输出是printf("P0:\n");,输出的应该是P0:            
你把你的输出语句改为printf("%bx\n",P0);
输出的结果就是3d了.
点赞  2007-2-3 23:36
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复