static修饰的局部变量问题

2019-10-16 01:03发布

step被static所修饰,刚开始step可以从0->1->2这几个步骤都没有问题,执行完step = 3语句,即将退出函数(在下面1处)step 的值莫名其妙的变回2,step变量只有这个地方使用,这个是什么问题???大神们帮忙分析一下什么问题!!!!!
如下程序:
void display()
{
  static u8  step = 0;
      if(step == 0)
  {
        ........
        step = 1;
    }
    else if(step == 2)
    {
         .......
         step = 1;
    }
    else if(step == 3)
    {
        .........
        step = 4;
    }
}   -------------<1

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。