I completely agree with what you are trying to say. I tried to explain the same stuff 6 years back when I was put incharge of designing questions for a programming competition. I tried to explain it to organizers how ambiguous these questions can be, considering the fact that most participants/compilers do not follow the ANSI standard properly. Secondly, these questions are not real test of programming skills, they are just some gimmicks to 'wow' people, real life programming is much different.

Veetrag, These kinds of questions actually have a clear answer: they invoke undefined behaviour. When someone writes code that relies on undefined behaviour or tries to predict what it will do, it's often a sign that that there's a gap in understanding of how the language works.

Understanding undefined behaviour is important for any professional software developer working in C. Writing C code without a solid grasp of this concept can lead to software that is fragile and insecure.

There are other features also in other programming languages like threading in Java which is completely dependent on JVM behavior or garbage collection in Java which varies across JVM to JVM.

Well, the reason why the same or similar questions arise is simple. People, out of ignorance, read wrong books and there are very few who can guide them to use the right books and the right platform/environment to learn C. The Indian market is full of books that still teach C using Turbo C and the questions/exercises contain precisely questions about these. Many of the examples in such books include `conio.h`!