您的位置:首页 > 编程语言 > C语言/C++

C语言中,if语句后面加return 的用法的疑问

2013-09-29 08:37 417 查看
有这么一段代码:

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在这里的作用是结束函数的运行?

有点疑惑,请大侠指教!
有这么一段代码:

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在这里的作用是结束函数的运行?

有点疑惑,请大侠指教!
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在这里的作用是结束函数的运行?

有点疑惑,请大侠指教!

解:return 的本意就是函数退出,不管是一般函数还是中断函数,翻译成汇编也就是 ret 或 reti 指令,到底应该执行ret还是reti那是编译器事。

break只跳出离她最近的那层循环
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: