What will be the output of the following program code?
main()
{
static int var = 5;
printf("%d ", var--);
if(var)
main();
}
main()
{
static int var = 5;
printf("%d ", var--);
if(var)
main();
}A. 5 5 5 5 5
B. 5 4 3 2 1
C. Infinite Loop
D. Compilation Error
E. None of these
Answer: Option B
Solution (By Examveda Team)
When static storage class is given, it is initialized once. The change in the value of a static variable is retained even between the function calls. Main is also treated like any other ordinary function, which can be called recursively.
Join The Discussion
Comments (1)
In C, what is a function primarily used for?
A. Decision making
B. Variable declaration
C. Code organization and reusability
D. Printing output
What is the purpose of a function prototype in C?
A. To declare a function's return type
B. To declare a function's name
C. To declare a function's parameters and return type
D. To declare a function's name and parameters
In C, how are function arguments passed by default?
A. By value
B. By reference
C. By pointer
D. By address

Output of #include
Mani()
{ Int x,y=10;
x=y*NULL;
Printf("%d",x);
}