不需要代码,还有个疑问。怎么实现第一次按下1,第二次按下3显示13
while(1)
{
k=keyscan();
if(flag==1)num=num+k;
if(flag==2)
{num=10*num+k;}
if(flag==3)
{
num=100*num+k;
}
if(flag==4)
{
num=1000*num +k;
}
display(num);
}
}
void display(num)
k是在扫描键盘中,每按下一次自加1;
------最佳解决方案--------------------
while(1)
{
k=keyscan();
num=10*num+k;}
}
num初始值是0,比如你想按13出来,第一次按1,执行后num=1,第二次按3,num = 1*10+3=13,如果按数字键就直接原来的结果乘10+新按的数,如果是功能键另作处理
------其他解决方案--------------------
这样子为什么不行
------其他解决方案--------------------
你的flag每次重新置位吗?这样子看你的while循环里num值每次都会变 输出肯定不会稳定
------其他解决方案--------------------
没有,每次按下flag加一
------其他解决方案--------------------
while(1)
{
k=keyscan();
num=10*num+k;}
}
num初始值是0,比如你想按13出来,第一次按1,执行后num=1,第二次按3,num = 1*10+3=13,如果按数字键就直接原来的结果乘10+新按的数,如果是功能键另作处理