What is evaluation order of function parameters in C?


We pass different arguments into some functions. Now one questions may come in our mind, that what the order of evaluation of the function parameters. Is it left to right, or right to left?

To check the evaluation order we will use a simple program. Here some parameters are passing. From the output we can find how they are evaluated.

Example Code

#include<stdio.h>
void test_function(int x, int y, int z) {
   printf("The value of x: %d
", x);    printf("The value of y: %d
", y);    printf("The value of z: %d
", z); } main() {    int a = 10;    test_function(a++, a++, a++); }

Output

The value of x: 12
The value of y: 11
The value of z: 10

From this output we can easily understand the evaluation sequence. At first the z is taken, so it is holding 10, then y is taken, so it is 11, and finally x is taken. So the value is 12.

Updated on: 30-Jul-2019

409 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements