Could you explain why this line should be discouraged? I'm a beginner in C, so I really don't know. That's why I'm asking.
You're assigning a char to another, relying on the return value being 0 to detect end of string.
You're performing the copy while also increasing the pointers with ++ in the same expression.
You're using the cryptic ; empty statement to signify nop, thereby confusing newbies.
Etc