Basic and Advance C Question:
Download Questions PDF

I have a program that seems to run correctly

Answer:

I have a program that seems to run correctly, but it crashes as it's exiting, after the last statement in main(). What could be causing this?

There are at least three things to look for:
1. If a semicolon in a previous declaration is missing, main might be inadvertently declared as returning a structure, conflicting with the run-time startup code's expectations.
2. If setbuf or setvbuf is called, and if the supplied buffer is an automatic, local variable of main (or any function), the buffer may not exist any more by the time the stdio library tries to perform its final cleanup.
3. A cleanup function registered by atexit may have an error. Perhaps it is trying to reference data local to main or to some other function which no longer exists.

Download C Programming Interview Questions And Answers PDF

Previous QuestionNext Question
This program runs perfectly on one machine ...This program crashes before it even runs!