Please explain the comma operator in this program
c, comma-operator
Solution
The `,` operator evaluates a series of expressions and returns the value of the last.
`c=a,b` is the same as `(c=a),b`. That is why c is 10
`c=(a,b)` will assign the result of `a,b`, which is 20, to `c`.
As Mike points out in the comments, assignment (`=`) has higher precedence than comma
Problem
Please explain the output of this program: ``` int main() { int a,b,c,d; a=10; b=20; c=a,b; d=(a,b); printf("\nC= %d",c); printf("\nD= %d",d); } ``` The output which I am getting is: ``` C= 10 D= 20 ``` My doubt is what does the "," operator do here? I compiled and ran the program using Code Blocks.