void Detection()
{
state=P2;
metal_state=state&0x03;//0000 0011
edge_state=state&0xF0;//1111 0000
///bar_state=state&0x0C;//0000 1100
switch(bar_state){
case 0x04: cur_state=2;return;//0000 0100
case 0x08: cur_state=1;return;//0000 1000
case 0x00: cur_state=3;return;//0000 0000
//default: if((cur_state==3)||(cur_state==4))cur_state=1 ;
}
switch(metal_state){
case 0x01: cur_state=3;return; //0000 0001
case 0x02: cur_state=4;return; //0000 0010
}
}
这是一朋友写的代码,我觉得switch里面应该用break。return的功能是不是就结束整个函数了?
而break只是结束这个switch语句?另外return没有返回值也可以吗?
实际用这个代码是好用的。就像了解下区别。 |