Difficulty: Easy
Correct Answer: .c
Explanation:
Introduction / Context:
The question clarifies two ideas: (1) main should receive a character pointer vector for argv; and (2) on DOS/Turbo C style environments, the command processor typically does not expand wildcards, so "*.c" is passed literally to the program unless a runtime library performs special expansion.
Given Data / Assumptions:
Concept / Approach:
With no wildcard expansion, argv[1] receives the literal characters *.c (without quotes, since the shell strips quotes). The loop prints each argument from i=1 to argc-1, so the output is a single line containing *.c.
Step-by-Step Solution:
Verification / Alternative check:
On Unix-like systems, the shell would expand "*.c" to matching filenames before launching the program. Under the DOS assumption, that expansion does not occur; the program sees the literal string.
Why Other Options Are Wrong:
Common Pitfalls:
Forgetting that argument quoting behavior differs between DOS and Unix shells; also, using int* argv is a type error for %s printing.
Final Answer:
*.c
Discussion & Comments