第一次用scanf一直不对,紧急求助!

2020-02-05 09:11发布

各位大侠麻烦看一下,我这个程序

/***********************/
#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后的值!

先谢了!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
18条回答
automaticdai
2020-02-07 08:38
楼主能不能把详细情况再描述一下。
包括:
楼主使用的编译器;
去掉scanf,printf的行为是否正常;
如果去掉printf,串口是不是还会有输出;
你的程序能执行多次么,还是每发送一个字符必须复位?
其实很少有人能回答你,因为大家尽量不会去用scanf函数,在不同的C编译器实现下,它的行为可能会有区别。而且scanf和print都是死等方式,是要尽量避免的。

一周热门 更多>