• edited by
2,062 views
4 4 votes
main () {
    if(--i) {
        main ();
        printf("%d", i);
    }
}
  1.   5 4 3 2 1
  2.   1 2 3 4 5
  3.   0 0 0 0 0
  4.   Compiler error

1 Answer

Best answer
2 2 votes
// assuming i is defined
// output 4 zeros
#include <stdio.h>
int i=5;
int main() {
	if(--i) {
		main();
		printf("%d\n",i);
	}
}

// assuming i is defined
// runtime stack overflow :  error
#include <stdio.h>
int main() {
	int i=5;
	if(--i) {
		main();
		printf("%d\n",i);
	}
}

// assuming i is defined
// output 4 zeros
#include <stdio.h>
int main() {
	static int i=5;
	if(--i) {
		main();
		printf("%d\n",i);
	}
}
• selected by
Position:
Show:

Related questions

1 1 vote
1 answers 1 answer
523
523 views
Akriti sood asked Dec 20, 2016
523 views
#include<stdio.h int main() { int m[6] = {15, 11, 25, 30, 35, 45}; int p, q, r; p = ++m ; q = m ++; r = m[p++]; printf("%d, %d, %d", p, q, r); return 0; }
2 2 votes
1 1 answer
1.0k
1.0k views
Shivi rao asked Oct 11, 2017
1,010 views
What is the output of the following program?int main ( ){char *str = “Gate2018”printf (“%d”, output (str)) ;return 0;}int output(char *P1){char *P2 = P1 ;while (*++P1) ;r...
0 0 votes
0 0 answers
446
446 views
Anirudh Kaushal asked Apr 6, 2022
446 views
#include<stdio.h struct marks { int p:3; int c:3; int m:2; }; void main() { struct marks s = {2, -6, 5}; printf("%d %d %d", s.p, s.c, s.m); }What does p:3 means here ?
0 0 votes
1 answers 1 answer
720
720 views
Parshu gate asked Nov 19, 2017
720 views
#include<stdio.h>int main(){ int a=2;if(a==2){ a=~a+2<<1; printf("%d",a);}}