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

vikky1988i's Avatar, Join Date: Apr 2010
Go4Expert Member
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
xpi0t0s's Avatar, Join Date: Aug 2004
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.