一个被static 修饰的变量在函数中赋值问题

2019-07-15 12:21发布

本帖最后由 雪飞舞舞 于 2016-12-15 09:48 编辑

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 == 1)
   {
       step = 2;
   }
    else if(step == 2)
    {
         .......
         step = 3;
    }
    else if(step == 3)
    {
        .........
        step = 4;
    }
}   -------------<1

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