抱歉,我太年轻了,看了一下你的问题没看全就会贴了,重看了一下你的代码,发现是这样的。1 switch函数没有带default语柄 这问题不大
2 按键‘=’使用了四个if判断加减乘除还用abcd指代,如果我按完 加号(a = 1)再按减号(b= 1)会怎么样
case(14):if(a==1)
{result=temp+result;a=0;key=0;}
if(b==1)
{result=temp-result;b=0;key=0;}
if(c==1)
{result=temp*result;c=0;key=0;}
if(d==1)
{
if(result==0) {error=1;result=0;d=0;key=0;}
else{result=temp/result;d=0;key=0;}
}
3 你在while(1)里面定义变量是认真的吗?看到这里可以十分肯定告诉你你的错误99%出现在这
void main()
{
LCD_Init();
while(1)
{
static long key=0,result=0,temp=0,a=0,b=0,c=0,d=0;
unsigned char i=0;
|