3. while the character contained in the address *s is not zero ...
...
6. the final character is a space which triggers the while loop to end somehow.
You had the correct answer for the termination condition in step 3. :)
To add to what rstofer said:
Whenever you write a string literal in C (e.g. "a string") it implicitly contains a terminating NUL character at the end. So if you were to look at a hex dump of the memory where your example string is stored, it would look like:
L C D t e s t
4C 43 44 20 74 65 73 74 20 00