Related Articles

Related Articles

Comma operator should be used carefully
  • Difficulty Level : Easy
  • Last Updated : 29 May, 2017

In C and C++, comma is the last operator in precedence table. So comma should be carefully used on right side of an assignment expression. For example, one might expect the output as b = 10 in below program. But program prints b = 20 as assignment has higher precedence over comma and the statement “b = 20, a” becomes equivalent to “(b = 20), a”.

filter_none

edit
close

play_arrow

link
brightness_4
code

#include<stdio.h>
int main()
{
  int a = 10, b;
  b = 20, a;   // b = 20
  printf(" b = %d ", b);
  getchar();
  return 0;
}

chevron_right


Putting a bracket with comma makes b = a (or 10).

filter_none

edit
close

play_arrow

link
brightness_4
code

#include<stdio.h>
int main()
{
  int a = 10, b;
  b = (20, a); // b = a
  printf(" b = %d ", b);
  getchar();
  return 0;
}

chevron_right


Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Rated as one of the most sought after skills in the industry, own the basics of coding with our C++ STL Course and master the very concepts by intense problem-solving.

My Personal Notes arrow_drop_up
Recommended Articles
Page :