Embercode
✕
C++ Functions and ScopeQuick quiz

Shadowing and statics

8 questions. Covers Static locals and counters.

Questions 1 to 5 of 8

  1. 1. What does this program print? ``cpp #include <iostream> int score = 10; void add_bonus(int bonus) { int score = 0; score = score + bonus; std::cout << "local: " << score << '\n'; } int main() { add_bonus(3); add_bonus(4); std::cout << "global: " << score << '\n'; } ``
  2. 2. What does this program print? ``cpp #include <iostream> int main() { for (int n = 1; n <= 2; n++) { for (int n = 5; n <= 6; n++) { std::cout << n << ','; } std::cout << '\n'; } } ``
  3. 3. What does this program print? ``cpp #include <iostream> int tickets() { static int last = 100; last = last + 2; return last; } int plain() { int last = 100; last = last + 2; return last; } int main() { std::cout << tickets() << ' ' << tickets() << ' ' << plain() << ' ' << plain() << '\n'; } ``
  4. 4. What does this program print? ``cpp #include <iostream> void walk(int n) { static int visits = 0; visits = visits + 1; std::cout << visits << ':' << n << '\n'; if (n > 0) { walk(n - 1); } } int main() { walk(1); walk(0); } ``
  5. 5. Which compiler flag makes g++ warn when an inner name hides an outer name?

5 question(s) left on this page.