The golden rule, same as in Tulains Córdova's answer, is to make sure to write intelligible code. But I don't agree with the conclusion. That golden rule means to write code that the typical programmer who will end up maintaining your code can understand. And you are the best judge at who the typical programmer who will end up maintaining your code is.
For the programmers that didn't start with C, the first version is probably easier to understand, for reasons you know already.
For those who grew up with that style of C, the second version may well be easier to understand: to them, it's equally understandable what the code does, to them, it leaves fewer questions why it's written the way it is, and to them, less vertical space means that more context can be displayed on the screen.
You'll have to rely on your own good sense. To which audience do you want to make your code easiest to understand? Is this code written for a company? Then the target audience is probably the other programmers in that company. Is this a personal hobby project that no one will work on but yourself? Then you are your own target audience. Is this code you want to share with others? Then those others are your target audience. Pick the version that matches that audience. Unfortunately, there is no single preferred way to encourage.
while (*s++ = *t++);(My C is very rusty, do I need parens there for operator precedence?) Did K&R release a new version of their book? Their original book had extremely concise and idiomatic code.'\0'fromt(thewhileexits first). This will leave the resultingsstring without a terminating'\0'(unless the memory location was already zeroed). The second code block will make the copy of the terminating'\0'prior to exiting thewhileloop.