325 views
2 votes
2 votes
int add(int a)
{
    static int count = 0;
    count = count + a;
    return(count);
}
main()
{
    int a, b;
    for(a=0; a<=4; a++)
    b=add(a);
}

What is the value of b at the end of execution of the above C program

A) 10

B) 12

C) 4

D) 6

1 Answer

Best answer
1 votes
1 votes
We know that static storage class for a variable is defined for each function and initialisation is done once for such variables in the function.

So every time count gets added by the argument "a" which is supplied to the function "add(int a)" which is done till a becomes 4.

So final value of count = 0 + 1 + 2 + 3 + 4

                                 = 10

Hence A) should be the correct option.
selected by

Related questions

0 votes
0 votes
3 answers
1
Sankaranarayanan P.N asked Oct 27, 2016
589 views
What is the output of this C code?#include<stdio.h int main() { do printf("Inside while loop"); while(0); printf("After while loop"); }A) Infinite loopB) Compilation erro...
3 votes
3 votes
2 answers
2
Sankaranarayanan P.N asked Oct 27, 2016
419 views
What will be the output of the following C program fragment?int n =1; switch(n) { case 1: printf("One"); case 2: printf("Two"); case 3: case 4: case 5: default: printf("W...
1 votes
1 votes
1 answer
3
Sankaranarayanan P.N asked Sep 28, 2016
1,220 views
What will be the value of f after the execution of following programvoid main() { char a; float f = 10; for(a=1; a<=5; a++) { f-=.2; printf("\nf = %g", f); } }A) 5.0B) 9C...
2 votes
2 votes
1 answer
4