Exercise: Structures Unions Enums

Questions for: Structures Unions Enums

What will be the output of the program ?
#include<stdio.h>

int main()
{
    enum days {MON=-1, TUE, WED=6, THU, FRI, SAT};
    printf("%d, %d, %d, %d, %d, %d\n", ++MON, TUE, WED, THU, FRI, SAT);
    return 0;
}
A:
-1, 0, 1, 2, 3, 4
B:
Error
C:
0, 1, 6, 3, 4, 5
D:
0, 0, 6, 7, 8, 9
Answer: B
Because ++ or -- cannot be done on enum value.
What will be the output of the program ?
#include<stdio.h>

int main()
{
    struct byte
    {
        int one:1;
    };
    struct byte var = {1};
    printf("%d\n", var.one);
    return 0;
}
A:
1
B:
-1
C:
0
D:
Error
Answer: B
No answer description is available. Let's discuss.
What will be the output of the program in 16-bit platform (under DOS)?
#include<stdio.h>

int main()
{
    struct node
    {
        int data;
        struct node *link;
    };
    struct node *p, *q;
    p = (struct node *) malloc(sizeof(struct node));
    q = (struct node *) malloc(sizeof(struct node));
    printf("%d, %d\n", sizeof(p), sizeof(q));
    return 0;
}
A:
2, 2
B:
8, 8
C:
5, 5
D:
4, 4
Answer: A
No answer description is available. Let's discuss.
What will be the output of the program in Turbo C (under DOS)?
#include<stdio.h>

int main()
{
    struct emp
    {
        char *n;
        int age;
    };
    struct emp e1 = {"Dravid", 23};
    struct emp e2 = e1;
    strupr(e2.n);
    printf("%s\n", e1.n);
    return 0;
}
A:
Error: Invalid structure assignment
B:
DRAVID
C:
Dravid
D:
No output
Answer: B
No answer description is available. Let's discuss.
What will be the output of the program ?
#include<stdio.h>

int main()
{
    int i=4, j=8;
    printf("%d, %d, %d\n", i|j&j|i, i|j&j|i, i^j);
    return 0;
}
A:
12, 12, 12
B:
112, 1, 12
C:
32, 1, 12
D:
-64, 1, 12
Answer: A
No answer description is available. Let's discuss.
Ad Slot (Above Pagination)
Quiz