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
Зареєструйся Зараз
або Підпишись на майбутні тести