The summary of the German thread: For statements like if, while, switch, etc. the compiler generates an internal jump table on the stack. Which means that the stack, since it is finite, can overflow at some point, dependent on what else is on the stack.

This has no relevance for real programming since no one would ever have 2000 nested if() clauses or a switch with 2000 cases... or so I thought. But apparently lite-C programmers break all sorts of strange code records.

Conclusion: Code in a reasonable way.