C语言问题

[复制链接]
查看11 | 回复3 | 2008-6-25 16:38:35 | 显示全部楼层 |阅读模式
.

.

.

do {

while(!PurgeComm(CommPortHDL, PURGE_TXCLEAR));


Result1 = SendOut(outChar, j);
if (Result1 ==(int)j)
if ((Result1=GetAckPack(1500))==0)


return 0;
TxCount--;
ComRetry ++;
} while (TxCount > 0);

.

.

.
各位大侠,我问个问题,上面程序第二个IF语句,如果(Result1=GetAckPack(1500))==0为真的话,也就是当GetAckPack(1500)这个函数返回值为0时,执行return 0语句,执行完return语句后程序是不是跳出do..while循环,不再执行TxCount--和ComRetry ++语句呢,还是别的什么??谢谢

回复

使用道具 举报

千问 | 2008-6-25 16:38:35 | 显示全部楼层
return语句是用来跳出函数。要跳出循环可以用break语句。上例中,如果这些语句都在某个函数之内,那么执行return之后跳出该函数,也自然跳出了循环。
回复

使用道具 举报

千问 | 2008-6-25 16:38:35 | 显示全部楼层
执行return之后函数就直接放回了,什么也不会再执行了。
回复

使用道具 举报

千问 | 2008-6-25 16:38:35 | 显示全部楼层
return 0;函数返回,后面的都不会执行了,直接跳出函数。main()函数中的return语句,程序退出。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行