C语言:return,break,continue

return:跳出循环,退出函数

break :跳出循环,执行循环后的下一个步骤

continue :跳出当前循环值,执行循环下一个值

keil环境,编写程序,测试执行结果

程序如下:

/*return,break,continue*/

/*return test*/

void ReturnTest(void)

{

  uint8_t i;

  printf("\r\nReturn test start\r\n");

  for(i=0;i<10;i++)

  {

    if(i == 3)

    {

      return;

    }

    printf("%d ",i);

  }

  printf("\r\nReturn test done\r\n");

}

/*break test*/

void BreakTest(void)

{

  uint8_t i;

  printf("\r\nBreak test start\r\n");

  for(i=0;i<10;i++)

  {

    if(i == 3)

    {

      break;

    }

    printf("%d ",i);

  }

  printf("\r\nBreak test done\r\n");

}

/*continue test*/

void ContinueTest(void)

{

  uint8_t i;

  printf("\r\nContinue test start\r\n");

  for(i=0;i<10;i++)

  {

    if(i == 3)

    {

      continue;

    }

    printf("%d ",i);

  }

  printf("\r\nContinue test done\r\n");

}

int main(void)

{

  Init();//config RCC_Configuration();和USART_Configuration();

  while(1)

  {

    ReturnTest();

    BreakTest();

    ContinueTest();

    delay(1000);//ms

  }

}

串口测试结果:

Return 测试打印0 1 2后,条件成立,执行Return ,程序没执行到打印Return test done,直接跳出函数

Break 测试打印0 1 2后,条件成立,执行Break ,跳出大循环,执行打印Break test done

Continue 测试打印0 1 2后,条件成立,执行Continue ,跳出3,直接往下判断,然后打印4 5 6 7 8 9,循环完成后,跳出循环,执行打印 Continue test done

具体测试结果如下:

[10:14:15.608] 

[10:14:15.608] Return test start

[10:14:15.608] 0 1 2 

[10:14:15.608] Break test start

[10:14:15.608] 0 1 2 

[10:14:15.608] Break test done

[10:14:15.608] 

[10:14:15.608] Continue test start

[10:14:15.608] 0 1 2 4 5 6 7 8 9 

[10:14:15.617] Continue test done

[10:14:15.617] 

你可能感兴趣的:(C语言:return,break,continue)