各位大侠麻烦看一下,我这个程序
/***********************/
#include <reg52.h>
#include <stdio.h>
void main()
{
unsigned int a,c;
SCON = 0x50;
TMOD = 0x20;
TH1 = 0xe8;
TL1 = 0xe8;
TI=1;
TR1 = 1;
while(1)
{
scanf("%u",&a);
c=a+10;
printf("%u
",c);
}
}
不知道为什么,输出的还是原来a的值,而不是+10后的值!
先谢了!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
包括:
楼主使用的编译器;
去掉scanf,printf的行为是否正常;
如果去掉printf,串口是不是还会有输出;
你的程序能执行多次么,还是每发送一个字符必须复位?
其实很少有人能回答你,因为大家尽量不会去用scanf函数,在不同的C编译器实现下,它的行为可能会有区别。而且scanf和print都是死等方式,是要尽量避免的。
这你不觉得奇怪么?
一周热门 更多>