A program that has no command line arguments will have argc _________
Answer: C
Correct answer: One
The program name occupies argv[0] and is counted, so argc is 1 when nothing else is supplied.
That is why a program testing for arguments writes if (argc > 1) rather than if (argc). The standard permits argc to be 0, in which case argv[0] is a null pointer, but this happens only where a program is started by an exec call that supplies no name at all - never from an ordinary shell.
Please log in or register to report this question.