void NumKeyAction(unsigned char n)
{
unsigned char len;
unsigned char str[12];
if(step > 1)
{
Reset();
}
if(step == 0)
{
Num1 = Num1 * 10 + n;
len = LongToString(str, Num1);
LcdShowStr(16 - len, 1, str);
}
else
{
Num2 = Num2 * 10 + n;
len = LongToString(str, Num2);
LcdShowStr(16 - len, 1, str);
}
}
unsigned char LongToString(unsigned char *str, long dat)
{
unsigned char buff[12];
char i = 0;
unsigned char len = 0;
if(dat < 0)
{
dat = -dat;
*str++ = '-';
len++;
}
do
{
buff[i++] = dat % 10;
dat /= 10;
}
while(dat > 0);
len += i;
while(i--)
{
*str++ = buff[i] + '0';
}
*str = '\0';
return len;
}
len的值并没有初始化
为什么再次调用函数时局部变量的值没有初始化
答案:2 悬赏:0 手机版
解决时间 2021-03-08 13:43
- 提问者网友:那叫心脏的地方装的都是你
- 2021-03-07 19:29
最佳答案
- 五星知识达人网友:街头电车
- 2021-03-07 19:47
LongToString里面的len已经有初始化了。NumKeyAction里的len也有赋值。所以怀疑你的if(step == 0) else的逻辑是否有问题
全部回答
- 1楼网友:逐風
- 2021-03-07 20:33
不明白啊 = =!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯