+ 1

Can anyone help me understand these output questions? (C++)

i'm good at inputs, but very bad at outputs. I've taken these questions from the challenge game because even though it shows the right answer, it doesn't explain. 1. p = 8 cout << p++; cout << ++p; ANSWER : 810? 2. int x = 10; void calculate (int&a) { a = a + 10; cout << a; } int main () { int x = 20; calculate (x); cout << x+20; ANSWER : 3050 3. int a = 2; int b = 1 ; cout << (++a / b ++) * 5; ANSWER : 15

26th Jan 2019, 12:02 PM
Ky Ly
Ky Ly - avatar
3 Respostas
+ 2
1. ++x and x++ have a small difference. ++x: First increments x by 1, then returns the value of x. x++: First returns the value of x, then increments x by 1. 3: a = 2, b = 1 (++a / b++) * 5 can be thought as ((a+1) / b) * 5, a += 1, b += 1 So: ((2+1) / 1) * 5 = 3 * 5 = 15
26th Jan 2019, 2:09 PM
Seb TheS
Seb TheS - avatar
+ 3
Many people get confused with prefix and postfix increment (1 and 3 questions). Please refer to these existing questions https://www.sololearn.com/discuss/1492044/?ref=app https://www.sololearn.com/discuss/948304/?ref=app https://www.sololearn.com/discuss/1562989/?ref=app
26th Jan 2019, 12:33 PM
Seniru
Seniru - avatar
+ 2
https://code.sololearn.com/c5dx79XNNrpD/?ref=app Check this example also when you understand prefix and postfix
26th Jan 2019, 2:06 PM
Saad Saleem
Saad Saleem - avatar