keil c中 函数内部的静态局部变量可以和其他被调函数同名么

2020-02-04 09:17发布

比如:fun1()和fun2()
中静态局部变量i重名,这时i会怎么表现呢??

#define  UINT8   unsigned char

void  fun2(void)
{

    static UINT8  i;

         i++;

         if(i%2 == 0)
         {
                    P4        = 0x30;

         }
         else
         {

            P4        = 0x31;

         }
         
}
   
void  fun1(void)
{
   static  UINT8  i;

   for(i=0; i<5; i++)
   {
       fun2();
   }
}
//--------------------------------------------------------------------------------
void  main(void)
{
   // UINT8  i;
   
    //SysInit();

    for(;;)
    {
                  fun1();
    }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。