Machine-translated by Google. Questions are authored in English.
Top

Discussion

Which of the following is correct to interpret Hello World as a single argument?

1. $ ./output 'Hello World'

2.  $ ./output Hello World

  • A.Only 1
  • B.Only 2
  • C.Both 1 and 2
  • D.Neither 1 nor 2

Answer: C

Correct answer: Only 1

The shell splits on whitespace before the program ever runs, so ./output Hello World delivers two separate arguments - argv[1] is "Hello" and argv[2] is "World", with argc of 3.

Quoting is what prevents the split: 'Hello World' reaches the program as a single argv[1], and argc is 2. Escaping the space as Hello\ World has the same effect. Only the first form therefore gives one argument.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.