不了解带有开关块的程序的输出

问题描述 投票:-3回答:1

我想了解这段代码的输出,特别是输出的最后2行(第4和5行)。

#include <stdio.h>
#include <stdlib.h>

int main()
{
    double x = 2.1;

    while (x * x <= 50) {
        switch ((int) x) {
            case 6:
                x--;
                printf("case 6, x= %f\n ", x);

            case 5:
                printf("case 5, x=%f\n ", x);

            case 4:
                printf("case 4, x=%f\n ", x);
                break;

            default:
                printf("something else, x=%f\n ", x);
        }

        x +=2;
    }

    return 0;
}
c switch-statement fall-through
1个回答
1
投票

没有break语句,一种情况下的代码将落入另一种情况下的代码。

© www.soinside.com 2019 - 2024. All rights reserved.