void copy (char *source, char *dest) { while (*dest++ = *source++); }
The char that is represented by *source is copied to the field <
*source
The 'result' of an assignment is the right-hand value. So x=1; actually returns a value; in this case, '1'.
x=1;
Your code copies characters until it encountered the terminating 0 at the end of the source string.
source