用代码深层次理解continue

   continue语句和break语句的主要区别在于:continue语句只结束本次循环,而不是终止整个循环的执行,break语句则是结束所在循环,跳出所在循环体。

看代码:

输入玩家年龄,计算输入错误的次数(当输入小于0时表示出错)

#include <stdio.h>
main()
{
    int i, age, counter=0;

    for(i=0;i<5;i++)
    {
        printf("请输入您的年龄:");
        scanf("%d",&age);
        if(age>0)continue;
        else
      {
      counter++;}
      }
    printf("您输入错误%d次",counter);
}

 此处可以不要esle语句,因为当age>0时,即if函数正确时continue已经跳出本次循环,不将再继续运行下面的代码,直接再次调到for循环首句。

下面代码与上面代码产生效果类似;

#include <stdio.h>
main()
{
    int i, age, counter=0;
    for(i=0;i<5;i++)
    {
        printf("请输入您的年龄:");    
        scanf("%d",&age);
        if(age>0)continue;          
    counter++;
    }
    printf("您输入错误%d次",counter);
}

注意:printf语句与scanf语句应该在for循环语句内,此处容易写在for循环外面而造成出错;

总结:在循环语句里面,出现continue了语句,并且continue语句能正常运行,那么系统会自动跳过循环后面的代码,直接再次调到循环语句首句。

posted @ 2018-05-05 20:18  yhc99  阅读(458)  评论(0编辑  收藏  举报