0
How this code execute ?
#include <stdio.h> int main() { int n=2,m=2; while(m--) n*=n; printf ("%d",n); return 0; }
4 odpowiedzi
+ 5
Let me translate everything inside main() to english.
1) create 2 variables, one with name 'n'(initial value = 2) and another with name 'm'(initial value = 2).
2) loop till the time 'm' has a non-zero value (zero in C defaults to false) and decrement it after every iteration
3) inside the loop, square the value present in variable 'n' . So values inside loop would be
For m == 2
n = 2*2 == 4
For m == 1
n = 4*4 == 16
Now value of 'm' is zero so break the loop.
4) print the value inside 'n' on the console which is 16
+ 1
Now i get it
Thanks buddy.
Arsenic
+ 1
Since, the value of m is 2. So, loop is executed 2 times because value of m is decreases by 1 after completing 1 loop.
In first round n = 2*2 = 4.
In second round n = 4*4 = 16.
So, in output screen compiler shows 16.
https://code.sololearn.com/cvZ6x2Kc7s7r/?ref=app
0
Thanks Ashish Gupta