I am using a for loop to set source and destination indexes to copy items in an array.
for(int src = 0,
The comma operator evaluates the first expression and discards the result. Then it evaluates the second and that is what is the value tested in the if. You will find that your condition is not && nor || but behaves exactly like if(dst >= 0). Sometimes the form is useful for changing a value at the end of a loop before the test is carried out.