Comma in C++

Last Updated : 28 May, 2026

The comma (,) in C++ is a versatile operator that is used in multiple contexts such as expressions, declarations, and function calls. It can act as both an operator and a separator depending on how it is used in a program.

  • Used to evaluate multiple expressions in a single statement.
  • Helps separate variables and function arguments in declarations and calls.
  • It can also appear in expressions where multiple operations are performed sequentially.
C++
#include <iostream>
using namespace std;

int main() {
    int a, b, c;

    // comma operator (takes last value)
    a = (10, 20, 30);
    
    // comma as separator
    b = 5, c = 10;      

    cout << a << endl;
    cout << b << " " << c << endl;

    return 0;
}

Output
30
5 10

Different Contexts of Comma in C++

The comma can be used in different ways in C++:

Comma as an operator

The comma operator (,) in C++ is a binary operator used to evaluate multiple expressions in a single statement. It evaluates expressions from left to right and returns the value of the last expression.

  • Evaluates the first expression and discards its result
  • Evaluates the second expression and returns its value
  • Has the lowest precedence among all C++ operators
  • Works in a left-to-right (left-associative) manner
  • Often used in expressions inside parentheses

Syntax:

data_type variable = (value1, value2);

C++
#include <iostream>
using namespace std;

int main()
{

    int num = (24, 78, 85);

    cout << num << endl;

    return 0;
}

Output
85

Explanation

  • Expression is evaluated left to right: 24 -> 78 -> 85
  • 24 and 78 are evaluated but discarded
  • Only the last value 85 is assigned to num

Example: Incorrect vs Correct Usage

C++
#include <iostream>
using namespace std;

int main() {

    // Incorrect usage (error)
    int num1 = 10, 24, 30;

    // Correct usage of comma operator
    int num2 = (10, 24, 30);

    cout << num1 << endl;
    cout << num2 << endl;

    return 0;
}


Output

error: expected unqualified-id before numeric constant
int num1 = 10, 24, 30;

Comma as a separator

The comma (,) is commonly used as a separator in C++ to separate multiple items in declarations and function calls.

  • Used to declare multiple variables in a single statement
  • Used to pass multiple arguments in function calls
  • Does not perform any operation, only separates elements Improves code readability and reduces repetition

Syntax:

data_type var_name1, var_name2; //in variable declarationfunction_call(argument_1, argument_2); // in function call

Example: Multiple Variable Declaration

C++
#include <iostream>
using namespace std;

int main() {
    int num1 = 34, num2 = 45, num3 = 65;

    cout << num1 << " " << num2 << " " << num3 << endl;

    return 0;
}

Output
34 45 65

Explanation

  • Commas are used to declare multiple variables in a single line
  • Each variable is initialized separately
  • Here comma is acting as a separator, not an operator

Example: Function Call with Multiple Arguments

C++
#include <iostream>
using namespace std;

// Function to add three numbers
int add(int num1, int num2, int num3) {
    return num1 + num2 + num3;
}

int main() {
    int number1 = 5, number2 = 10, number3 = 15;

    int addition = add(number1, number2, number3);

    cout << addition << endl;

    return 0;
}

Output
30

Explanation:

  • Commas separate multiple arguments in function calls
  • Values are passed individually to the function
  • The function returns the sum of all values

Comma Operator in Place of a Semicolon

In C++, the comma operator can also be used to combine multiple statements in a single line, acting like a separator between expressions. However, this usage is limited and must follow proper syntax rules.

  • Multiple expressions can be written in a single statement using commas
  • Each expression is evaluated from left to right
  • Only the last expression result is considered in evaluation context
  • Variable declarations still require semicolons
  • The final statement of the program must end with a semicolon

Syntax:

expression1, expression2, expression3;

C++
#include <iostream>
using namespace std;

int main() {

    int num1 = 54;
    int num2 = 34;
    int num3 = 45;

    cout << num1 << endl,
    cout << num2 << endl,
    cout << num3 << endl;

    return 0;
}

Output
54
34
45

Explanation

  • Each cout statement is separated using the comma operator
  • Expressions are evaluated from left to right
  • All three values are printed sequentially
  • Variable declarations still use semicolons for proper syntax

Important points:

  • Using comma instead of semicolon is a special case of expression chaining
  • It is less common and mainly used for compact code writing (not recommended for large programs)
Comment