C++ ,函数返回值小问题,,谢谢了。

来源:百度知道 编辑:UC知道 时间:2024/06/05 23:59:56
MBS_uint8 modbus_tx(MBS_PHY * pmbs,MBS_uint8 * pdata,MBS_uint8 len)
{
MBS_uint16 crc,time_span;
if(pmbs->addr)
{
//for Device,it only permit to send response within response-time-out
if(pmbs->trans_state != MBS_TRST_RES) return 0; //不是发送响应 状态 程序结束。

//check time-out
time_span =(MBS_uint16) (modbus_get_tick() - pmbs->req_tick);
if(time_span > MBS_T_RES) //int MBS_T_RES=100;
{
//silietly discard out-of-time response
pmbs->trans_state = MBS_TRST_IDLE; //空闲状态 返回1
return 1;
}
}else
{
//for Host, it can send data only when last transaction is over
// e.g it's not waiting for last response
if(pmbs->trans_state == MBS_TRST_RES) return 0; //#define MBS_TRST_RES 0x02
}

//wait for a frame interval

//device fill it's own address at pdata[0];
if(pmbs->addr > 0) pdata

return 就是返回,只要执行到任何一个return函数就会结束并且返回值

这种用法很常见,一般用return配合分支语句如if, switch 等,进行分支选择并返回

一般适用在 只要程序转到任何一个方向上 ,处理结束就返回的情况

是的

大致如你所说
一般来说函数都有返回类型的,return就是返回的意思,就是把函数运行完后需要的结果返回出去,表示结束,通常情况下,执行到return就跳出函数结束了。

是的,如果是在主函数中则结束整个程序,在其它函数中则结束这个return的函数,return后面的不执行

执行到return函数会结束,
执行到最后一个“}”函数也会结束。