This discussion board is a place to discuss our Daily Challenges and the math and science
related to those challenges. Explanations are more than just a solution — they should
explain the steps and thinking strategies that you used to obtain the solution. Comments
should further the discussion of math and science.
When posting on Brilliant:
Use the emojis to react to an explanation, whether you're congratulating a job well done , or just really confused .
Ask specific questions about the challenge or the steps in somebody's explanation. Well-posed questions can add a lot to the discussion, but posting "I don't understand!" doesn't help anyone.
Try to contribute something new to the discussion, whether it is an extension, generalization or other idea related to the challenge.
Stay on topic — we're all here to learn more about math and science, not to hear about your favorite get-rich-quick scheme or current world events.
Markdown
Appears as
*italics* or _italics_
italics
**bold** or __bold__
bold
- bulleted - list
bulleted
list
1. numbered 2. list
numbered
list
Note: you must add a full line of space before and after lists for them to show up correctly
The answer is 888..
Bcoz cout has a right to left associativity... So the answer mostly depends on compailer...in right to left associative answer is 888...
When you use a++ operator it first prints the value of a then increments its value. so first the value of $a = 7$ gets printed then its value gets incremented to $8$. After this when you use the ++a operator, it first increments the value of $a$ then prints it so first the value to a is increased to 9 then it is printed.
In short the post increment operator (a++) increments the value of a after the command given to it while the pre increment operator (++a) first increments the value of a then it is used in the command given to it.
Cascading cout statements are initialized from right to left. Though as Agnishom mentioned, this isn't a good idea, such questions commonly come for Viva.
@Agnishom Chattopadhyay
–
I asked this from my CS teacher and she said that the output depended on which compiler we are using.
Different compilers could give different output. Is it so??
@Vishnu Bhagyanath
–
Actually the cascading took place from right to left as after postfix(++a) .It becomes the last updated value i.e 8 . So compiler starts reading the output from right to left.
Easy Math Editor
This discussion board is a place to discuss our Daily Challenges and the math and science related to those challenges. Explanations are more than just a solution — they should explain the steps and thinking strategies that you used to obtain the solution. Comments should further the discussion of math and science.
When posting on Brilliant:
*italics*
or_italics_
**bold**
or__bold__
paragraph 1
paragraph 2
[example link](https://brilliant.org)
> This is a quote
\(
...\)
or\[
...\]
to ensure proper formatting.2 \times 3
2^{34}
a_{i-1}
\frac{2}{3}
\sqrt{2}
\sum_{i=1}^3
\sin \theta
\boxed{123}
Comments
Sort by:
Top NewestThe answer is 888.. Bcoz cout has a right to left associativity... So the answer mostly depends on compailer...in right to left associative answer is 888...
Log in to reply
The answer is : 7 8 8
Log in to reply
Answer will be 888.
Log in to reply
You completely ignored what I said.
Log in to reply
Actually, coding like this is ambiguous and considered a bad idea
Log in to reply
Yes totally agreed.
Log in to reply
Answers explaining why this is not a good idea Quora and StackOverflow
@anweshan bor
Log in to reply
The output should be $7 \quad 8 \quad 9$
When you use a++ operator it first prints the value of a then increments its value. so first the value of $a = 7$ gets printed then its value gets incremented to $8$. After this when you use the ++a operator, it first increments the value of $a$ then prints it so first the value to a is increased to 9 then it is printed.
In short the post increment operator (a++) increments the value of a after the command given to it while the pre increment operator (++a) first increments the value of a then it is used in the command given to it.
Hope it helps :)
Log in to reply
I too thought of the same output but my compiler gave it out as '888'. Well, thank you for the views.
Log in to reply
Cascading cout statements are initialized from right to left. Though as Agnishom mentioned, this isn't a good idea, such questions commonly come for Viva.
Log in to reply
Now that I am an ex-student, I should probably drop an email to our CS teacher.
Log in to reply
Log in to reply
Log in to reply
Log in to reply
Log in to reply
Log in to reply