Time:2018-1-05
Keyword: If...If VS If...else if
Background:Doorbell program, when press "K1", buzzer will sound "ding" and "dong" and "la".
///****Right Codes***///
if(i==1000)
{
i=0;
if(Type==1)
{
Type=2;
}
else if(Type==2)
{
Type=3;
}
else if(Type==3)
{
Type=1;
stop=1;
TR0=0;
}
}
if (Type==1)
{
ding++;
if(ding==1)
{
Buzzle=~Buzzle;
ding=0;
}
}
if(Type==2)
{
dong++;
if(dong==2)
{
Buzzle=~Buzzle;
dong=0;
}
}
if(Type==3)
{
la++;
if(la==3)
{
Buzzle=~Buzzle;
la=0;
}
}
///****Righe Codes***///
///****Wrong Codes***///
if(i==1000)
{
i=0;
if(Type==1)
{
Type=2;
}
if(Type==2)
{
Type=3;
}
if(Type==3)
{
Type=1;
stop=1;
TR0=0;
}
}
///****Wrong Codes***///
Comments:
If type the if...if...if...,when Type is assigned 2 in the Type==1 codes, it will go to Type==2 codes, and is assigned 3 immediately, and step to Type==3 codes...
but if using if...else if...else if, when TYpe is 2 in the Type==1 codes, it will jump out the whole block instead of doing any judgments below.