C语⾔中,if语句后⾯加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在这⾥的作⽤是结束函数的运⾏?
c语言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只跳出离她最近的那层循环
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论