What will be the output of the following C code if these two files namely test.c and test1.c are linked and run?
-------file test.c-------
#include <stdio.h>
#include ""test.h""
int main()
{
i = 10;
printf(""%d "", i);
foo();
}
-----file test1.c------
#include <stdio.h>
#include ""test.h""
int foo()
{
printf(""%d\n"", i);
}
-----file test.h-----
#include <stdio.h>
#include <stdlib.h>
static int i;
-------file test.c-------
#include <stdio.h>
#include ""test.h""
int main()
{
i = 10;
printf(""%d "", i);
foo();
}
-----file test1.c------
#include <stdio.h>
#include ""test.h""
int foo()
{
printf(""%d\n"", i);
}
-----file test.h-----
#include <stdio.h>
#include <stdlib.h>
static int i;A. 10 0
B. 0 0
C. 10 10
D. Compilation Error
Answer: Option A
Related Questions on Function
In C, what is a function primarily used for?
A. Decision making
B. Variable declaration
C. Code organization and reusability
D. Printing output
What is the purpose of a function prototype in C?
A. To declare a function's return type
B. To declare a function's name
C. To declare a function's parameters and return type
D. To declare a function's name and parameters
In C, how are function arguments passed by default?
A. By value
B. By reference
C. By pointer
D. By address

Join The Discussion