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 这个变量 放在函数体内声明却没有问题 难道 获取函数返回值的变量 一定要放在函数外面定义 不知道我这样表述 大家有没有看明白欢迎大家讨论
此帖出自
小平头技术问答
一周热门 更多>