C Programming : Declarations and Initializations

0
647
6. What will be the output of the program?
#include<stdio.h>
int X=40;
int main()
{
int X=20;
printf("%d\n", X);
return 0;
}
A. 20
B. 40
C. Error
D. No Output
Answer: Option A
7. What is the output of the program
#include<stdio.h>
int main()
{
int x = 10, y = 20, z = 5, i;
i = x < y < z;
printf("%d\n", i);
return 0;
}
A. 0
B. 1
C. Error
D. None of these
Answer: Option B Explanation: Since x < y turns to be TRUE it is replaced by 1. Then 1 < z is compared and to be TRUE. The 1 is assigned to i.
8. What is the output of the program
#include<stdio.h>
int main()
{
extern int fun(float);
int a;
a = fun(3.14);
printf("%d\n", a);
return 0;
}
int fun(int aa)
{
return (int)++aa;
}
A. 3
B. 3.14
C. 0
D. 4
E. Compile Error
Answer: Option E
9. What is the output of the program
#include<stdio.h>
int main()
{
int a[5] = {2, 3};
printf("%d, %d, %d\n", a[2], a[3], a[4]);
return 0;
}
A. Garbage Values
B. 2, 3, 3
C. 3, 2, 2
D. 0, 0, 0
Answer: Option D Explanation: When an automatic array is partially initialized, the remaining elements are initialized to 0.
10. What is the output of the program?
#include<stdio.h>
int main()
{
union a
{
int i;
char ch[2];
};
union a u;
u.ch[0] = 3;
u.ch[1] = 2;
printf("%d, %d, %d\n", u.ch[0], u.ch[1], u.i);
return 0;
}
A. 3, 2, 515
B. 515, 2, 3
C. 3, 2, 5
D. None of these
Answer: Option A