C Programming - Structures, Unions, Enums - Discussion

Discussion Forum : Structures, Unions, Enums - Find Output of Program (Q.No. 6)
6.
What will be the output of the program ?
#include<stdio.h>

int main()
{
    enum status {pass, fail, absent};
    enum status stud1, stud2, stud3;
    stud1 = pass;
    stud2 = absent;
    stud3 = fail;
    printf("%d %d %d\n", stud1, stud2, stud3);
    return 0;
}
0, 1, 2
1, 2, 3
0, 2, 1
1, 3, 2
Answer: Option
Explanation:
No answer description is available. Let's discuss.
Discussion:
24 comments Page 2 of 3.

Nagaraju said:   1 decade ago
How can you say pass0, pass2, pass1 @Sundar.

Amit said:   1 decade ago
@Manu. It is compiler dependent.

Krishna said:   2 decades ago
Because enum values are initialised from zero.

Prasad Deokar said:   1 decade ago
i = 0 1 2.

enum status {pass, fail, absent};

enum status stud1, stud2, stud3;

stud1 = pass; ->0

stud2 = absent; ->2

stud3 = fail; ->1

So 0 2 1

printf("%d %d %d\n", stud1, stud2, stud3);

Ghufran said:   1 decade ago
Simply enum start index from 0 by default if no any value is associated.

Raju Naidu said:   1 decade ago
Hai, If you are declare any variables in enum the default initalization is started from 0 and sequentially they are increasing. So they didn't give any initaliztion in our programm that's why bydefault initaliztion will be takes place.

So pass=0, fail=1, abscent=2.

Sadddd said:   1 decade ago
Good !

Raghu said:   1 decade ago
Thats good explanation XYZ.

You should have write your name anyhow I am fully satisfied with that.

Sravz said:   1 decade ago
Thank you friends your explanations helped me to get it clear.

Hari said:   1 decade ago
Thanks xyz.

I satisfied with your ans.


Post your comments here:

Your comments will be displayed after verification.