C program which demonstrates the working of increment(++) and decrement(–) operators. Increment operator ++ adds 1 to its operand and Decrement operator — subtracts 1 from its operand.
These operators may be used either as a prefix operator or post-fix operator. Read more here: Increment and decrement operators
The Program
| /* C Program to demonstrate increment and decrement operators */ | |
| main() | |
| { | |
| /* | |
| * ++i -> i incremented before i is used. | |
| * --i -> i decremented before i is used. | |
| * j++ -> j is incremented AFTER j has been used. | |
| * j-- -> j is decremented AFTER j has been used. | |
| */ | |
| int i=1,j=1; | |
| puts("\tDemo 1"); | |
| printf("\t%d %d\n",++i, j++); /* O/P 2 1 */ | |
| printf("\t%d %d\n",i, j); /* O/P 2 2 */ | |
| i=1; j=1; | |
| puts("\n\tDemo 2"); | |
| printf("\t%d \n", i=j++); /* O/P 1 */ | |
| printf("\t%d \n", i=++j); /* O/P 3 */ | |
| i = 0; j = 0; | |
| puts("\n\tDemo 3"); | |
| if ( (i++ == 1) && (j++ == 1)) puts("Some text"); | |
| /* Will i and j get incremented? The answer is NO! Because | |
| * the expression in the left of '&&' resolves to false the | |
| * compiler does NOT execute the expression on the right and | |
| * so 'j' does not get executed!!!!! */ | |
| printf("\t%d %d\n",i, j); /* O/P 1 0 */ | |
| } |
Sample Output

Related programs
Airthmatic Operators
You can easily select the code by double clicking on the code area above.
To get regular updates on new C programs, you can Follow @c_program
You can discuss these programs on our Facebook Page.
Like to get updates right inside your feed reader? Grab our feed!