现在它可以正常工作。嗯,当然这是我的错误,但如果没有你的一些问题就很难摆脱它。
if ((key==11)^(key==13)^(key==16)^(key==17)) //this is the only
// dirty hack style string needed to fix this
{
switch (key)
{
case 11: { mode=0x01; break; } //plus
case 13: { mode=0x02; break; } //minus
case 16: { mode=0x03; break; } //multiply
case 17: { mode=0x04; break; } //divide
}
if (mode)
{
buffer=atof(display);
firstop=1;
first=1;
redraw=1;
//and to delete the goto
}
}
答案 0 :(得分:0)
您永远不会重置模式,因此按一次将继续为任何其他键执行所选模式。
您在switch语句中没有定义默认语句
尝试使用编译器优化开关。如果它解决了您的问题,则可能是volatile
问题,其中模式得到优化