0

Can't differentiate ++b, b and b++

When I wrote the program with the input a as 5 b as 3 and c as 2 { int a,b,c,d; cout <<"a="; cin>>a; cout<<"b="; cin>>b; if(b++<a){ cout<<"c="; cin>>c; cout<<"your ans:"<<a+b*c<<endl; } d= a%b; cout<<"d="<<d<<endl; return 0; } It kept giving me the answer for "your ans:" as 13 instead of 11 and the answer for d as 1 instead of two even though I didn't declare b=b++ or ++b, why?

14th Aug 2021, 6:09 PM
Ojih Ekene Thaddeus
Ojih Ekene Thaddeus - avatar
2 Respuestas
+ 3
Read about "pre-increment" and "post-increment"
14th Aug 2021, 7:48 PM
Yahel
Yahel - avatar
0
The pre increment (--a) and post increment (a++) operators will actually make more sense when used in expressions. Both operators increment a variable by one but the difference is about the order of events in which they happen. ie what comes first. For example a = 0 b = ++a print(a, b) // 1 1 Before b is assigned the 'a' variable is first incremented by one and then b is assigned the new value of a. a = 0 b = a++ print(a, b) // 0 1 So you see the difference, the later assigned b to the value of a and then a was incremented by one. I hope this helps you to differentiate the two operators.
14th Aug 2021, 8:48 PM
Kirabo Ibrahim
Kirabo Ibrahim - avatar