Sail E0 Webinar
Question

What would be the output of the program in 16 bit platform (Turbo C under DOS)?


#include<stdio.h>
int main()
{
extern int i;
i = 20;
printf("%d`setminus`n", sizeof(i));
return 0;
}
Options:
A .  2
B .  4
C .  Would vary from compiler to compiler
D .  Error, i undefined
Answer: Option D

Linker Error : Undefined symbol 'i'
The statement extern int i
specifies to the compiler that the memory for 'i'
is allocated in some other program and that address will be given to the
current program at the time of linking. But linker finds that no other
variable of name 'i' is available in any other program with memory space allocated for it. Hence a linker error has occurred.




Was this answer helpful ?
Next Question

Submit Solution

Your email address will not be published. Required fields are marked *

Latest Videos

Latest Test Papers