0
Pre-increment and Post-increment
#include <stdio.h> int main() { int a=2,b=3; b=a++ + b--; printf("\n%d %d : a b",a,b); a=a-- + ++b; printf("\n%d %d : a b",a,b); b=++a + --b; printf("\nFinal values of a and b are %d %d",a,b); return 0; } Can anyone tell me the output of this code and please explain it to me! By solving on paper I have got a different value and the IDE shows the other. So by your answer, I can cross-check the mistake
3 Respostas
+ 1
Ujwal Sai Simha Y
b=2+3=5 post-incre/decre a=3 b=5
a=3+6=9 pre-incre for 'b' b=6 and a=9
b=10+5 pre-incre for 'a' a=10 , pre-decre for 'b' b=5
final a=10 b=15
0
@Thirt13n We get b=5 in the first condition and then will not be the post-decrement applied to it? I mean won't it be b=4 after post-decrement?
0
Ujwal Sai Simha Y
Increment/Decrement (++/--) has higher precedence than assignment (=) , first be will be decremented to 2 but after that it assigned with 5 , so b=5 !
Hope it will help you better !