You've answered 1 of 163 questions correctly. (Clear)
Question #24 Difficulty:
According to the C++17 standard, what is the output of this program?
#include <iostream>
#include <limits>
int main() {
unsigned int i = std::numeric_limits<unsigned int>::max();
std::cout << ++i;
}
Correct!
Unsigned integers have well defined behaviour when they overflow. When you go one above the largest representable unsigned int, you end up back at zero.
According to §[basic.fundamental]¶4 in the C++ standard: "Unsigned integers, declared unsigned, shall obey the laws of arithmetic modulo 2^n where n is the number of bits in the value representation of that particular size of integer."
You can explore this question further on C++ Insights or Compiler Explorer!
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.
Contribute
Android app
Get Sergey Vasilchenko's CppQuiz Android app.