有这么一段代码:
void xxx()
{
if(rs_buf[0]=='$')
{
for(i=0;i<sizeof(GPS_GPRMC)-1;i++)
{
j=getuartdat();
if(j<256)
{
rs_buf=(alt_u16)j;
if(rs_buf!=GPS_GPRMC)
return;
}
}
}
}
当这句话成立: if(rs_buf!=GPS_GPRMC)
return;
即return执行后,程序再怎样运行,是不是直接跳出了函数xxx,即return在这里的作用是结束函数的运行?
有点疑惑,请大侠指教!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
我觉得是跳出for
-----------------------------------------------------------------------
跳出for是break
-------------------------------
假如加入这个xxx函数是中断服务子函数呢,也一样跳出么?
回复 【3楼】 luo496724812
------------------------------------------------------------
假如代码如下:
void xxx()
{
for(k=0;k<100;k++)
{
for(i=0;i<sizeof(GPS_GPRMC)-1;i++)
{
j=getuartdat();
if(j<256)
{
rs_buf=(alt_u16)j;
if(rs_buf!=GPS_GPRMC)
break;
}
}
}
}
当break执行后,程序会怎样执行?这个break是break的哪一个?
-----------------------------------------------------------------------
return结束整个函数吧。。。你这个break结束内层for循环。。。
一周热门 更多>