C Programming Questions and Answers – Static Variables
C Programming Questions and Answers – Static Variables
1.What is the output of this C code?
#include <stdio.h>
void main()
{
m();
m();
}
void m()
{
static int x = 5;
x++;
printf(“%d”, x);
}
a) 6 7
b) 6 6
c) 5 5
d) 5 6
View Answer
2.What is the output of this C code?
#include <stdio.h>
void main()
{
static int x;
printf(“x is %d”, x);
}
a) 0
b) 1
c) Junk value
d) Run time error
View Answer
3.What is the output of this C code?
#include <stdio.h>
static int x;
void main()
{
int x;
printf(“x is %d”, x);
}
a) 0
b) Junkvalue
c) Run time error
d) Nothing
View Answer
4.What is the output of this C code?
#include <stdio.h>
void main()
{
static double x;
int x;
printf(“x is %d”, x);
}
a) Nothing
b) 0
c) Compile time error
d) Junkvalue
View Answer
5.What is the output of this C code?
#include <stdio.h>
void main()
{
static int x;
if (x++ < 2)
main();
}
a) Infinite calls to main
b) Run time error
c) Varies
d) main is called twice
View Answer
6.Which of following is not accepted in C?
a) static a = 10; //static as
b) static int func (int); //parameter as static
c) static static int a; //a static variable prefixed with static
d) All of the mentioned
View Answer
7.Which of the following cannot be static in C?
a) Variables
b) Functions
c) Structures
d) None of the mentioned
0
View Answer
8.What is the output of code given below if these two files are linked and run?
in file test.c
#include <stdio.h>
#include “test.h”
int main()
{
i = 10;
printf(“%d “, i);
foo();
}
in file test1.c
#include <stdio.h>
#include “test.h”
int foo()
{
printf(“%d\n”, i);
}
in file test.h
#include <stdio.h>
#include <stdlib.h>
static int i;
a) 1 0 0
b) 0 0
c) 10 10
d) None of the mentioned
View Answer
9.Functions have static qualifier for its declaration by default.
a) true
b) false
c) Depends on the compiler
d) Depends on the standard
View Answer
10.Is initialisation mandatory for local static variables?
a) Yes
b) No
c) Depends on the compiler
d) Depends on the standard
View Answer
11.What is the output of this C code?
#include <stdio.h>
int main()
{
foo();
foo();
}
void foo()
{
int i = 11;
printf(“%d “, i);
static int j = 12;
j = j + 1;
printf(“%d\n”, j);
}
a) 11 12 11 12
b) 11 13 11 14
c) 11 12 11 13
d) Compile time error
View Answer
12.Assignment statements assigning value to local static variables are executed only once
a) true
b) false
c) Depends on the code
d) None of the mentioned
View Answer
13.What is the format identifier for “static a = 20.5;”?
a) %s
b) %d
c) %f
d) Illegal declaration due to absence of data type
View Answer
14.Which of the following is true for static variable?
a) It can be called from another function.
b) It exists even after the function ends.
c) It can be modified in another function by sending it as a parameter.
d) All of the mentioned
View Answer
15.Comment on the output of this C code?
#include <stdio.h>
void func();
int main()
{
static int b = 20;
func();
}
void func()
{
static int b;
printf(“%d”, b);
}
a) Output will be 0
b) Output will be 20
c) Output will be a garbage value
d) Compile time error due to redeclaration of static variable