C语言函数中,并排写两个同一条件的switch语句,怎么理解?

BYTE Read(BYTE D1)
{
BYTE D2;

PRT1DR=(0x07)|(PRT1DR&0xF8);
switch(D1)
{
case IP0:
case IP2: PRT0DR=(0x40)|(PRT0DR&0x3F); break;
case IP1:
case IP3: PRT0DR=(0x00)|(PRT0DR&0x3F); break;
}
switch(D1)
{
case IP0:
case IP1: PRT1DR=(0x00)|(PRT1DR&0xF8); break;
case IP2:
case IP3: PRT1DR=(0x01)|(PRT1DR&0xF8); break;
}
Delay_8us(1);
D2=PRT4DR;
PRT1DR=(0x07)|(PRT1DR&0xF8);
return(D2);
}

请问这个函数中,两个相同条件的switch语句,怎么理解,执行顺序是怎么样的?

x=1,进入swith(x)的case1.也就是
下面这段
switch(y)
{
case 0:a++;break;
case 1:b++;break;
}
此时y=0;进入case 0,。运行a++使a=1,然后break跳出switch(y).
因为在swith(x)的case 1中没有break语句,所以一次运行到case 2.a++和b++使a=2,b=1;
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网