C Programming - Functions - Discussion
Discussion Forum : Functions - Find Output of Program (Q.No. 21)
21.
What will be the output of the program?
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i=0;
i++;
if(i<=5)
{
printf("IndiaBIX");
exit(1);
main();
}
return 0;
}
Answer: Option
Explanation:
Step 1: int i=0; The variable i is declared as in integer type and initialized to '0'(zero).
Step 2: i++; Here variable i is increemented by 1. Hence i becomes '1'(one).
Step 3: if(i<=5) becomes if(1 <=5). Hence the if condition is satisfied and it enter into if block statements.
Step 4: printf("IndiaBIX"); It prints "IndiaBIX".
Step 5: exit(1); This exit statement terminates the program execution.
Hence the output is "IndiaBIx".
Discussion:
12 comments Page 1 of 2.
Sneha said:
1 decade ago
What happens when it encounters main again in the program? It doesnt print back the same printf statement?
Ivo said:
1 decade ago
"IndiaBIX" is not the same as "IndiaBIx".
@Sneha: It would call main recursively until the stack overflows
@Sneha: It would call main recursively until the stack overflows
Leszek said:
1 decade ago
Isn't B also correct? Maybe main() COULD call itself, but in this case it doesn't because it never gets to that point.
Prerna said:
1 decade ago
What would be the answer if it would have been exit(0) instead of exit(1).
Rohit sharma said:
1 decade ago
Yes main() can call it self but in this program there is exit(1) just before we called the main() function in the main program so it will terminate the program execution before calling main() function again :).
Rohit said:
1 decade ago
Elaborate exit(0) and exit(1)?
PrattJ said:
1 decade ago
exit(0)=>causes the program to exit with a successful termination.
exit(1)=>causes the program to exit with a system-specific meaning.
On many systems, exit(1) signals some sort of failure, however there is no guarantee.
exit(1)=>causes the program to exit with a system-specific meaning.
On many systems, exit(1) signals some sort of failure, however there is no guarantee.
Satakshi said:
1 decade ago
What will happen if in this prog there will exit(0) instead of exist(1)?
Dimple said:
1 decade ago
exit(0) is a successful termination of a program.
Tamilmaran c said:
1 decade ago
It acceptable answer D:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i=0;
i++;
if(i<=5)
{
printf("IndiaBIX");
exit(1);
main();
}
return 0;
}
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i=0;
i++;
if(i<=5)
{
printf("IndiaBIX");
exit(1);
main();
}
return 0;
}
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers