Hello all, I have a problem in understanding a basic thing in this code!!! while(*src++ = *des++); seems to run infinitely since no condition here , but in real this works fine.... just need a explanation for this.. how does the compiler interprets this!!! please :snobby::embarasse:worried:
while takes a boolean, so when *src++=*des++ evaluates to zero, the loop will terminate. The value of an expression is the assigned value, so for example if taken in a value context, the value of "a=5" is 5. So this also means you can do something like a=b=c=d=e=3; which will set all variables to the same value.