IAR一个关于变量声明的问题困惑我好久了

2019-03-24 14:03发布


unsigned char len;
void AppUart_putStr(char* str)
{
  len = strlen(str)-1;
  unsigned char index;
  for(index=0;index<len;index++)
  {
    AppUart_putChar(str[index]);
   // delay(1);
  }
}  ///////////////////////////////////////////////////////////如上这段代码  将len声明在函数体外len = strlen(xx) 这句执行后, len就会被赋值而如果像下面这样 

void AppUart_putStr(char* str)
{
  unsigned char len = strlen(str)-1;
  unsigned char index;
  for(index=0;index<len;index++)
  {
    AppUart_putChar(str[index]);
   // delay(1);
  }
} /*****************/在单步调试时候,watch 窗口中观察 len  会说是未定义的  但是index 这个变量 放在函数体内声明却没有问题 难道  获取函数返回值的变量 一定要放在函数外面定义 不知道我这样表述  大家有没有看明白欢迎大家讨论 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
mesada
2019-03-24 22:23
 精彩回答 2  元偷偷看……0人看过

一周热门 更多>

相关问题

    相关文章