C – Increment and Decrement Operators

Modify operators:

  • Modify operators increase or decrease the value of variable by 1
  • Operators are ++, —
  • Modify operators also called unary operators (operate on single operand)
Pre-IncrementPost-DecrementPre-DecrementPos-Decrement
Example:     
int a = 5;     
print(++a); // 6      print(a); //6
Example:     
int a = 5;     
print(a++); // 5     
print(a); //6
Example:     
int a = 5;     
print(–a); // 4     
print(a); //4
Example:     
int a = 5;     
print(a–); // 5     
print(a); //4

Expressions with modify operators evaluate as follows:

  1. Pre-Increment and Pre-Decrement
  2. Substitute values in expression
  3. Evaluation of expression
  4. Assignment
  5. Post-Increment and Post-Decrement

Code snippets to understand the execution flow of Modify operators:

int main()
{            
int a=5;            
printf(“%d\n”, ++a);            
printf(“%d\n”, a);            
return 0;
}
int main()
{            
int a=5;            
printf(“%d\n”, a++);            
printf(“%d\n”, a);            
return 0;
}
int main()
{            
int a=5;            
printf(“%d\n”, –a);            
printf(“%d\n”, a);            
return 0;
}
int main()
{            
int a=5;            
printf(“%d\n”, a–);            
printf(“%d\n”, a);            
return 0;
}
int main()
{            
int a=5, b;            
b = ++a;            
printf(“a=%d\n”, a);            
printf(“b=%d\n”, b);            
return 0;
}
int main()
{            
int a=5, b;            
b = a++;            
printf(“a=%d\n”, a);            
printf(“b=%d\n”, b);            
return 0;
}
int main()
{            
int a=5, b;            
b = –a;            
printf(“a=%d\n”, a);            
printf(“b=%d\n”, b);            
return 0;
}
int main()
{            
int a=5, b;            
b = a–;            
printf(“a=%d\n”, a);            
printf(“b=%d\n”, b);            
return 0;
}
int main()
{            
int a=5, b;            
b = ++a + ++a;            
printf(“a=%d\n”, a);            
printf(“b=%d\n”, b);            
return 0;
}  
#include<stdio.h>
int main()
{            
int a=5, b;            
b = ++a + a++;            
printf(“a=%d\n”, a);            
printf(“b=%d\n”, b);            
return 0;
}
#include<stdio.h>
int main()
{            
int a=5, b;            
b = a++ + a++;            
printf(“a=%d\n”, a);            
printf(“b=%d\n”, b);            
return 0;
}
#include<stdio.h>
int main()
{            
int a=5, b;            
b = –a + –a;            
printf(“a=%d\n”, a);            
printf(“b=%d\n”, b);            
return 0;
}
#include<stdio.h>
int main()
{            
int a=5, b;            
b = –a + a–;            
printf(“a=%d\n”, a);            
printf(“b=%d\n”, b);            
return 0;
}
#include<stdio.h>
int main()
{            
int a=5, b;            
b = a– + a–;            
printf(“a=%d\n”, a);            
printf(“b=%d\n”, b);            
return 0;
}
#include<stdio.h>
int main()
{            
int a=5, b;            
b = a++ + ++a + a–;            
printf(“a=%d\n”, a);            
printf(“b=%d\n”, b);            
return 0;
}
Scroll to Top