最近遇到一个很有意思的问题,怎么想也想不通。程序如下。
这是一个四路流水灯电路。
#include<reg52.h>
unsigned char const EL[]={0X01,0X02,0X04,0X08};
void delay(unsigned long cnt)
{
while(--cnt);
}
main()
{
unsigned char i=0;
while(1)
{
P2=EL [ i ] ;
delay(80000);
if(i>=3)
{
i=0;
}
else
{
i++;
}
}
}
while循环改成以下方式照样运行
/* while(1)
{
P2=EL [ i ] ;
delay(80000);
i++;
if(i>=4)
{
i=0;
}
}
} */
不懂为什么一个检测3一个检测4,希望高手详细解答,谢谢了先。
|