If ... else switch ... statement

Viewed 1518

Following code compiles on my gcc 5.4.0, doesn't generate any warnings and works fine:

if (a == 0) {
    puts("0");
} else switch (a) {
    case 1: puts("1"); break;
    case 2: puts("2"); break;
    default: puts("default"); break;
}

Is if ... else switch ... correct statement?

5 Answers
Related