源码:if(ok1==ok2==ok3==ok4==0x0f){beepjudge=0x0f;}
if((beep1==0xff)||(beep2==0xff)||(beep3==0xff)||(beep4==0xff)) {beepjudge=0xff;}
switch(beepjudge){case 0x0f: {for(temp=0;temp<3;temp++){P12=P13=1;for(start=0;start<26;start++){disp_real(66);} P12=P13=0;Delay(360);}//显示"66"表示检测结束结果正确无误}break;case 0xff: {for(temp=0;temp<3;temp++){P12=P13=1;for(start=0;start<26;start++){disp_real(55);} P12=P13=0;Delay(360);}//显示"55"表示检测结束设备有故障}break;default: break;}
用以上程序在OK1~OK4,beep1~beep4没有逻辑问题的情况下,正确的时候不能够正常显示“66”。而当我把程序的第一句修改为if((ok1==0x0f)&&(ok2==0x0f)&&(ok3==0x0f)&&(ok4==0x0f)){beepjudge=0x0f;} 之后程序就能正常运行(正确显示66,错误显示55)了,请问这是为什么呢?if(ok1==ok2==ok3==ok4==0x0f){beepjudge=0x0f;}和if((ok1==0x0f)&&(ok2==0x0f)&&(ok3==0x0f)&&(ok4==0x0f)){beepjudge=0x0f;}这两句有什么区别吗? |