I just come across the statement in embedded c (dsPIC33)
sample1 = sample2 = 0;
Would this mean
sample1 = 0;
sample2 = 0;
Why do they type it this way? Is this good or bad coding?
Remember that assignment is done right to left, and that they are normal expressions. So from the compilers perspective the line
sample1 = sample2 = 0;
is the same as
sample1 = (sample2 = 0);
which is the same as
sample2 = 0;
sample1 = sample2;
That is, sample2
is assigned zero, then sample1
is assigned the value of sample2
. In practice the same as assigning both to zero as you guessed.