+ 6
Explain me this code please.
int a=0, b=0; while(a<3) { ++a; a*=a; b+=a; } Console.Write(b);
9 odpowiedzi
+ 8
while loop runs till a's value is less than 3
++a increases value of a
Now a is 1
a*=a means
a=a*a
which is a=1
and then b+=a
is b=b+a
b=0+1
b=1
again ++a
a=2 now
a*=a
a=2*2
a=4
b=1+4
b=5
now since a is 4 and greater than 3 Loop terminates
and 5 is printed
+ 3
Abhay And what will be the result if there will be a++ instead of ++a, 0?
+ 3
I thought i knew the difference between ++i and i++ but i guess not. Well, i need to read and practice more, thanks a lot friend
+ 3
Thanks a lot i will keep on trying :)
+ 2
👍👍👍👍👍👍👍👍👍
+ 2
hello,
if you alter the code and write
a++
it would not affect the output which is (5)
a++ and ++a will only differ when you will assign them to a variable
thanks!
+ 1
It will be same ,it doesn't matter here if you increase it's value before or after
however if that was something like
b=++a
then b value would be 1 and a also 1
and
If it was
b=a++
then b value would be
0 and a also 0
Then a would get incremented immediately after that and a will be 1
+ 1
while(a<3) is used to run till the value of a will be less than 3.
Initially a=0, b=0
In the first iteration 0 < 3 is satisfied
It first checks the condition of the while loop, if it is satisfied it will enter the loop and perform the following steps
1) ++a which is used to increment the value of a
(a++ returns the value after it is incremented, while ++a returns the value before it is incremented. There will be no change in this particular code.)
So value of a becomes 1
2) a*=a -> a = a * a -> a = 1 * 1 -> a = 1
3) b+=a -> b = b + a -> b = 0 + 1 -> b = 1
In the next iteration, it checks if 1 < 3 which is satisfied.
It performs the following steps again
1) ++a
Value of a becomes 2
2) a*=a -> a = a * a -> a = 2 * 2 -> a = 4
3) b+=a -> b = b + a -> b = 1 + 4 -> b = 5
Next iteration the condition a < 3 fails as a = 4
Therefore it comes out of the loop and prints the value of b which is 5.
I hope this was of some help!
0
Thank You :) i got it