Declarations and Initializations - Programming

Q1:

1 : typedef long a;
extern int a c;
2 : typedef long a;
extern a int c;
3 : typedef long a;
extern a c;

A 1 correct

B 2 correct

C 3 correct

D 1, 2, 3 are correct

ANS:A - 1 correct

typedef long a;
extern int a c;
while compiling this statement becomes extern int long c;. This will result in to "Declaration syntax error". typedef long a;
extern a int c;
while compiling this statement becomes extern long int c;. This will result in to "Too many types in declaration error". typedef long a;
extern a c;
while compiling this statement becomes extern long c;. This is a valid c declaration statement. It says variable c is long data type and defined in some other file or module. So, Option C is the correct answer.