C语言中if return的用法

中断函数里:
switch(i)
{
case 1:LED=~LED;
if(++K!=10) return;
K=0;
i=2;
break;
case 2:
......(一下语句省略)
}
----------想问一下,case 1语句怎么执行的,if为真的时候return怎么执行,if为假的时候return怎么执行?
当if为假的时候,return跳出case1,为真的时候则从K=0执行?
最后效果是执行case1的时候LED闪烁5次,为什么呢

if成立的时候执行的是return,return到led=~led处,重新执行,因为led标志着led灯的闪烁,1代表亮,0代表灭的话,则会不断地重复,直到k变为10,如果不成立则将k=0,i=2赋值进行到case2中
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-09
if为真时,执行:
LED=~LED;
if判定
return;
跳出函数

if为假的时候,执行以下语句:
LED=~LED;
if判定
K=0;
i=2;
跳出switch,不执行case 2的内容追问

return就是跳出函数吗,那要是在主程序和中断程序中是不是结果不一样呢,主程序中跳出就进不去了,中断程序中才有闪烁的效果吗?

追答

return是跳出当前函数。如果你上边那些代码是中断函数的,那么就是跳出中断函数。至于为啥闪烁,没有主程序,只看这个中断函数时看不出来啥的。不过估计是k从0递增到10,所以LED=~LED执行了10次,就是开关开关开关开关开关,也就是闪5次咯

本回答被提问者采纳
第2个回答  2019-12-02
if是判断语句,return是数据返回语句
如该函数
unsigned
int
xxx(void)
{
unsigned
char
i;
for(i=0;i<8;i++)
{
if(i==4)
{
判断i是否等到4,如果等于4则处理此处的语句。
return
i;函数返回i的值
}
}
}
相似回答