1. What is the return-type of the function sqrt()
a) int
b) float
c) double
d) depends on the data type of the parameter
Answer
Answer: c [Reason:] None.
2. Which of the following function declaration is illegal?
a) double func();
int main(){}
double func(){}
b) double func(){};
int main(){}
c) int main()
{
double func();
}
double func(){//statements}
d) None of the mentioned
Answer
Answer: d [Reason:] None.
3. What is the output of this code having void return-type function?
-
#include <stdio.h>
-
void foo()
-
{
-
return 1;
-
}
-
void main()
-
{
-
int x = 0;
-
x = foo();
-
printf("%d", x);
-
}
a) 1
b) 0
c) Runtime error
d) Compile time error
Answer
Answer: d [Reason:] None.
4. What will be the data type returned for the following function?
-
#include <stdio.h>
-
int func()
-
{
-
return (double)(char)5.0;
-
}
a) char
b) int
c) double
d) multiple type-casting in return is illegal
Answer
Answer: b [Reason:] None.
5. What is the problem in the following declarations?
int func(int);
double func(int);
int func(float);
a) A function with same name cannot have different signatures
b) A function with same name cannot have different return types
c) A function with same name cannot have different number of parameters
d) All of the mentioned
Answer
Answer: d [Reason:] None.
6. The output of the code below is
-
#include <stdio.h>
-
void main()
-
{
-
int k = m();
-
printf("%d", k);
-
}
-
void m()
-
{
-
printf("hello");
-
}
a) hello 5
b) Error
c) Nothing
d) Junk value
Answer
Answer: a [Reason:] None.
7. The output of the code below is
-
#include <stdio.h>
-
int *m()
-
{
-
int *p = 5;
-
return p;
-
}
-
void main()
-
{
-
int *k = m();
-
printf("%d", k);
-
}
a) 5
b) Junk value
c) 0
d) Error
Answer
Answer: a [Reason:] None.
8. The output of the code below is
-
#include <stdio.h>
-
int *m();
-
void main()
-
{
-
int *k = m();
-
printf("hello ");
-
printf("%d", k[0]);
-
}
-
int *m()
-
{
-
int a[2] = {5, 8};
-
return a;
-
}
a) hello 5 8
b) hello 5
c) hello followed by garbage value
d) Compilation error
Answer
Answer: c [Reason:] None.