单片机if else嵌套

2024-11-16 07:52:14
推荐回答(5个)
回答1:

//在if 、esle 的程序段加上花括号就可以了,如下:

//已经在keil中调试通过
#include
#define uchar unsigned char
#define uint unsigned int
uint liang;
void main()
{
for(liang=0;liang<5;liang++)
{
if(liang==0)
{
P2=0x01;
P0=0x3f;
}
else if(liang==1)
{
P2=0x02;
P0=0x06;
}
else if(liang==2)
{
P2=0x04;
P0=0x5b;
}
else if(liang==3)
{
P2=0x08;
P0=0x4f;
}
else if(liang==4)
{
P2=0x10;
P0=0x66;
}
else
{
P2=0x20;
P0=0x6d;
liang=0;
}
}
}

回答2:

这是因为执行B那么 a必须等于0,而a等于0时,就退出while循环了,所以无法执行B。

回答3:

你的所有if,else if和else都缺少大括号
else if(liang==4){
P2=0x10;
P0=0x66;
}

回答4:

嵌套过多时用switch case 语句比较好

回答5:

建工程了吗你