能力风暴技术交流吧 关注:182贴子:288
  • 4回复贴,共1

写了个按左键全局变量减1,按右键全局变量增加1的程序,有问题

只看楼主收藏回复

写了个按左键全局变量减1,按右键全局变量增加1,按下ENTER键退出的程序,最终在屏幕上显示的值有问题,帮忙分析下。下面的程序是流程图转过来的,能正常执行。但结果不对。谢谢!

#include "ASEIO.h"
int btn_1=0;
int btn_2=0;
int btn_3=0;
int gi_1=0;
void main()
{
/* 显示当前变量 gi */
btn_1 = Get_Button();
btn_2 = Get_BtnLeft();
btn_3 = Get_BtnRight();
printf( "btn_1=%d\nbtn_2=%d\nbtn_3=%d\ngi_1=%d\n\n\n\n",btn_1,btn_2,btn_3,gi_1 );
while(1)
{
printf( "btn_1=%d\nbtn_2=%d\nbtn_3=%d\ngi_1=%d\n\n\n\n",btn_1,btn_2,btn_3,gi_1 );
btn_2 = Get_BtnLeft();
if(btn_2 == 1)
{
gi_1 = gi_1 - 0;
}
else
{
btn_3 = Get_BtnRight();
if(btn_3 == 1)
{
gi_1 = gi_1 + 1;
}
else
{
btn_1 = Get_Button();
if(btn_1 == 1)
{
break;
}
}
}
}
BEEP(523.200012,1.000000);
printf( "btn_1=%d\nbtn_2=%d\nbtn_3=%d\ngi_1=%d\n\n\n\n",btn_1,btn_2,btn_3,gi_1 );
}


IP属地:江苏1楼2017-04-21 11:36回复


    2楼2017-04-24 18:35
    回复
      检测按键,在你按下的时候已经检测过很多次了,你在检测完加上一个小的延时就可以实现了!


      3楼2017-04-24 18:36
      回复
        谢谢!


        IP属地:江苏来自iPhone客户端4楼2017-04-25 12:35
        收起回复