Output of following program
#include <stdio.h> int fun( int n)
{ static int s = 0;
s = s + n;
return (s);
} int main()
{ int i = 10, x;
while (i > 0)
{
x = fun(i);
i--;
}
printf ( "%d " , x);
return 0;
} |
(A) 0
(B) 100
(C) 110
(D) 55
Answer: (D)
Explanation: Since s is static, different values of i are added to it one by one.
So final value of s is
s = i + (i-1) + (i-2) + … 3 + 2 + 1.
The value of s is i*(i+1)/2. For i = 10, s is 55.
Quiz of this Question