C Programming - Declarations and Initializations - Discussion

Discussion Forum : Declarations and Initializations - Find Output of Program (Q.No. 3)
3.
What is the output of the program?
#include<stdio.h>
int main()
{
    extern int a;
    printf("%d\n", a);
    return 0;
}
int a=20;
20
0
Garbage Value
Error
Answer: Option
Explanation:

extern int a; indicates that the variable a is defined elsewhere, usually in a separate source code module.

printf("%d\n", a); it prints the value of local variable int a = 20. Because, whenever there is a conflict between local variable and global variable, local variable gets the highest priority. So it prints 20.

Discussion:
31 comments Page 4 of 4.

Snehal kadam said:   2 decades ago
But a=20 is declared at outside of main then how it is local?


Post your comments here:

Your comments will be displayed after verification.