Having the following variables declarations in the loop, what is the result of compilation and execution of the code?

#include <iostream>

int main() {
   int i;
   for (i = 0; i < 4; i++) {
      static int j = ++i;
      int i = 6+ ++j;
      std::cout << i << ",";
   }
}
Explanation
The declaration of a variable i inside the for block is completely valid. It (the declaration) is hiding an external variable i. The line, which initializes the static variable j, is executed only once, so on this line i variable will not be incremented and the value of j will not change in subsequent iterations of the loop.

Следи за CodeGalaxy

Мобильное приложение Beta

Get it on Google Play
Обратная Связь
Cosmo
Зарегистрируйся сейчас
или Подпишись на будущие тесты