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-Increment | Post-Decrement | Pre-Decrement | Pos-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:
- Pre-Increment and Pre-Decrement
- Substitute values in expression
- Evaluation of expression
- Assignment
- 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; } |