C/C++ (like every programming language) does not require variables to be correct, as
int fib(int n) {
int p = 1;
while (n--)
p * n;
return n;
}
This means that C/C++ can't even detect a trivial typo - it will produce a program, which will continue working for hours until it reaches the typo - THEN go boom and
you lost all unsaved data.