You've answered 0 of 134 questions correctly. (Clear)

Question #161 Difficulty: 3

According to the C++17 standard, what is the output of this program?

    #include <iostream>

int main() {
    int n = 3;
    int i = 0;

    switch (n % 2) {
    case 0: 
    do {
    case 1: ++i;
    } while (--n > 0);

    std::cout << i;


While the code can be difficult to understand, with the interleaved switch and do while constructs, try to step through the code line by line in your head, keeping track of the values of i and n.


Problems? View a hint or try another question.

I give up, show me the answer (make 3 more attempts first).

Mode : Training

You are currently in training mode, answering random questions. Why not Start a new quiz? Then you can boast about your score, and invite your friends.


Create your own!

Android app

Get Sergey Vasilchenko's CppQuiz Android app.