Using result of comma operator as l-value is not valid in C. But in C++, result of comma operator can be used as l-value if the right operand of the comma operator is l-value.
For example, if we compile the following program as a C++ program, then it works and prints b = 30. And if we compile the same program as C program, then it gives warning/error in compilation (Warning in Dev C++ and error in Code Blocks).
b = 30
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details
- A comma operator question
- Comma operator should be used carefully
- How can we use Comma operator in place of curly braces?
- lvalue and rvalue in C language
- Comma in C and C++
- How to input a comma separated string in C++?
- Program to Parse a comma separated string in C++
- Why overriding both the global new operator and the class-specific operator is not ambiguous?
- Operator Overloading '<<' and '>>' operator in a linked list class
- dot (.) operator in C/C++
- map::operator in C++ STL
- map operator= in C++ STL
- new vs operator new in C++
- set operator= in C++ STL
- unordered_multimap operator= in C++ STL