edited by
1,026 views
1 votes
1 votes
void ab()
{
    auto int a;
    static int s= 5;
    a = ++s;
    printf("%d%d",a,s);
    if(a<= 7)
    ab();
    printf("%d%d",a,s);
}
void main()
{
    ab();
}



According to me answer should be- 667788887766 but the answer is - 667788887868. Please explain

edited by

1 Answer

Best answer
2 votes
2 votes

Ans-667788887868

a is local variable and s is static variable so scope of local variable is local and it will destroy after function is over and scope of static variable is throughout the program.

selected by

Related questions

0 votes
0 votes
2 answers
1
Debargha Mitra Roy asked Apr 10
103 views
What is the output of the below code?#include <stdio.h void main() { static int var = 5; printf("%d ", var ); if (var) main(); }a. 1 2 3 4 5b. 1c. 5 4 3 2 1d. Error
3 votes
3 votes
3 answers
2
Laxman Ghanchi asked May 19, 2023
1,159 views
#include<stdio.h void print(int n) { printf("Hello "); if(n++ == 0) return ; print(n); n++; } int main() { void print(); print(-4); }How many times printf execute?? And H...
0 votes
0 votes
1 answer
3
Laxman Ghanchi asked May 19, 2023
685 views
#include<stdio.h>void print(int n){ printf("Hello "); if(n++ == 0) return ; print(n); n++;}int main(){ void print(); print(-4);}