I defined extern a in the scope and outside of the scope
a.c
int a;
void foo(void)
{
    a = 3;
}
b.c
extern int a = 10; /*same as "extern a; int a = 10?" */
void foo(void);
int main(void)
{
    foo();
    printf("%d", a);
}
Is this code well-defined?
 
     
    