A doubt regarding a Piece of code!!! ple. help

Go4Expert Member
25Apr2011,12:13   #1
vikky1988i's Avatar
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
Mentor
26Apr2011,22:48   #2
xpi0t0s's Avatar
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.