Comma Operator in C

By | February 18, 2023

Prerequisite – Operators in C
The comma operator in C is an operator that allows multiple expressions to be evaluated sequentially in a single statement.

Syntax:
The syntax of the comma operator is as follows:

expr1, expr2, ..., exprn;

Here, expr1, expr2, …, and exprn are expressions that are evaluated in order from left to right. The value of the entire expression is the value of the last expression exprn.

Example:
Here’s an example code that demonstrates the use of the comma operator in C:

#include <stdio.h>

int main() {
    int a = 1, b = 2, c = 3;
    
    // Assign b to a, then assign c to b, and print the value of c
    printf("%d\n", (a = b, b = c, c));
    
    return 0;
}

In this example, we declare three integer variables a, b, and c, with the values 1, 2, and 3, respectively. We then use the comma operator to assign b to a, then assign c to b, and print the value of c.

The expression (a = b, b = c, c) is evaluated from left to right. First, the value of b (2) is assigned to a, then the value of c (3) is assigned to b. Finally, the value of c (3) is returned as the value of the entire expression, which is printed to the console.

The output of this program will be:

3

As you can see, the value of c is printed to the console, which is the value returned by the comma operator.

Please write comments below if you find anything incorrect, or you want to share more information about the topic discussed above. A gentle request to share this topic on your social media profile.

Author: Mithlesh Upadhyay

I hold an M.Tech degree in Artificial Intelligence (2023) from Delhi Technological University (DTU) and possess over 4 years of experience. I worked at GeeksforGeeks, leading teams and managing content, including GATE CS, Test Series, Placements, C, and C++. I've also contributed technical content to companies like MarsDev, Tutorialspoint, StudyTonight, TutorialCup, and Guru99. My skill set includes coding, Data Structures and Algorithms (DSA), and Object-Oriented Programming (OOPs). I'm proficient in C++, Python, JavaScript, HTML, CSS, Bootstrap, React.js, Node.js, MongoDB, Django, and Data Science.