7.6.1 continue 语句

7.6.1 continue 语句

    3种循环都可以使用CONTINUE语句。执行到该语句时,会跳过本次迭代的剩余部分,并开始下一轮迭代。如果continue语句在嵌套循环内,则只会影响包含该语句的内层循环。
    以上介绍了continue语句让程序跳过循环体的余下部分。那么从何处开始继续循环?对于while和do while循环,执行continue语句后的下一个行为是对循环的测试表达式求值。考虑下面的循环:
    count = 0;
    while (count < 10)
    {
        ch = getchar();
        if (ch == '\n')
            continue;
        putchar(ch);
        count++;
    }
    该循环读取10个字符(除换行符外,因为当ch时换行符时,程序会跳过count++;语句)并重新显示它们,其中不包括换行符。执行coutinue后,下一个被求值的表达式是循环测试条件。
    对于for循环,执行continue后的下一个行为是对更新表达式求值,然后是对循环测试表达式求值。例如,考虑下面的循环:
    for (count = 0; count < 10; count++)
    {
        ch = getchar();
        if (ch == '\n')
            continue;
        putchar(ch);
    }
    该例中,执行完continue后,首先递增count,然后将递增后的值和10作比较。因此,该循环与上面while循环的例子稍有不同。while循环的例子中,除了换行符其余字符都显示;而本例中,换行符也计算在内,所以读取的10个字符包含换行符。

猜你喜欢

转载自www.cnblogs.com/EisNULL/p/10701153.html