Final answer:
During the compilation phase, the default file extension generated is typically '.obj' on Windows or '.o' on Unix/Linux systems; these are intermediate object files that require further linking to create an executable or library.
Step-by-step explanation:
When a program is compiled, the file extension generated by default depends on the specific stage of compilation and the operating system. However, if we are discussing the output of the linker after compilation, then the common default file extensions are:
- .exe - Executable file on Windows.
- .obj - Object file on Windows; intermediate file in the compilation process.
- .o - Object file on Unix/Linux systems; also an intermediate file.
- .dll - Dynamic-link library on Windows; used for shared libraries.
The correct answer to the student's question is b) .obj as it is the default output during the compilation phase before the linking phase. This object file contains machine code that is not yet a standalone program and needs further processing to become an executable (.exe) or a dynamic-link library (.dll).