clever0725 发表于 2009-7-18 08:27:32

continue 语法的问题

如下检测按键的问题,请问打问号这里执行后会跳到哪里?

voidTask(void *pdata)
{
    pdata = pdata;                                    /* 避免编译警告 */

    for (;;)
    {
      OSTimeDly(OS_TICKS_PER_SEC / 50);               /* 延时20毫秒 */
      if ((IOPIN & KEY1) != 0) //假如成立
      {
            continue;//????????????????? goto where?
      }
      OSTimeDly(OS_TICKS_PER_SEC / 50);               /* 延时20毫秒 */
      
      if ((IOPIN & KEY1) != 0)
      {
            continue;
      }
      OSTaskResume(0);
      
      while ((IOPIN & KEY1) == 0)
      {
            OSTimeDly(OS_TICKS_PER_SEC / 50);         /* 延时20毫秒 */
      }
    }
}

eiglxl 发表于 2009-7-18 08:33:53

第一个OSTimeDly(OS_TICKS_PER_SEC / 50);

clever0725 发表于 2009-7-18 08:42:12

是跳过 for(;;)循环里剩下的语句 然后重新开始循环就像刚进入for(;;)一样吗 ?

n0831 发表于 2009-7-18 08:55:25

continue;


结束本次循环后面的语句,进入下一轮循环.

clever0725 发表于 2009-7-18 09:17:42

噢 谢谢这句经典易懂
页: [1]
查看完整版本: continue 语法的问题