void main()
{
static int i = 5;
if(--i)
{
main();
printf("%d
",i);
}
}
what would be output of the above program and justify your
answer?
}
Answers were Sorted based on User's Feedback
Answer / samrat
Ans: 0 0 0 0
The first thing you have to remember is that static
variables are initialized only once. The second thing is
that static variables have a life time scope and they retain
their value between function calls.
"i" is first initialized to 5. in the if condition the value
of i is changed to 4. main() is called again and the value
of i is changed to 3 in the if condition and main is called
again. Now the value of i is changed to 2 and main is called
again. Now the value of i is changed to 1 and main is called
again. After this the value of i is changed to "0" and the
block is excited.
As the value of i is now "0", it is printed 4 times for each
of the calls for main(). So the ans will be
0
0
0
0
Thanks,
Samrat
| Is This Answer Correct ? | 67 Yes | 5 No |
Answer / srsabariselvan
0
0
0
0
static variable's value is stored in memory statically upto
end of the program. so if the variable comes out of the
function it retains its value
| Is This Answer Correct ? | 13 Yes | 5 No |
Answer / sri ram
This prog'll not produce any output since the value of i
reduces when it reaches zero if block will not be executed
and the program is terminated....
| Is This Answer Correct ? | 7 Yes | 16 No |
Display names and numbers of employees who have 5 years or more experience and salary less than Rs.15000 using array of structures (name, number, experience and salary)
Do you have any idea how to compare array with pointer in c?
which of the following statements is incorrect a.typedef struct new{ int n1; char n2; } DATA; b.typedef struct { int n3; char *n4; }ICE; c.typedef union { int n5; float n6; } UDT; d.#typedef union { int n7; float n8; } TUDAT;
Explain how can I manipulate strings of multibyte characters?
Heyyy All, Just a challenge . A C program with if Else if(){ /// insert sumthing print ("in if") // insert sumting } else { ///// insert sumthing print ("in else"); //// insert sumthing } can anyone modify it so that program prints. if and else both
do you think its fraud or original company?
Write a program for Overriding.
What is the mean of function?
program to print circle structure
write a program in C that prompts the user for today's date,tomorrow's date and display the results.Use structures for today's date,tomorrow's date and an array to hold the days for each month of the year.
What does %p mean?
Switch (i) i=1; case 1 i++; case 2 ++i; break; case 3 --i; Output of i after executing the program