C Programming - Declarations and Initializations - Discussion

Discussion Forum : Declarations and Initializations - Find Output of Program (Q.No. 1)
1.
What is the output of the program given below ?
#include<stdio.h>
int main()
{
    enum status { pass, fail, atkt};
    enum status stud1, stud2, stud3;
    stud1 = pass;
    stud2 = atkt;
    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:

enum takes the format like {0,1,2..) so pass=0, fail=1, atkt=2

stud1 = pass (value is 0)

stud2 = atkt (value is 2)

stud3 = fail (value is 1)

Hence it prints 0, 2, 1

Discussion:
58 comments Page 2 of 6.

Rajashekar said:   10 years ago
enum takes the format like {0,1,2..) so pass=0, fail=1, atkt=2.

stud1 = pass (value is 0)

stud2 = atkt (value is 2)

stud3 = fail (value is 1)

Hence it prints 0, 2, 1.

Mounika said:   10 years ago
How it is 0, 2, 1? Where we are declared with 0, 1, 2. So output should be 0, 1, 2.

Vinod said:   1 decade ago
enum status stud1, stud2, stud3;

Can anyone explain this declaration statement?

Kumar shanu said:   10 years ago
How it can possible?

Prema said:   10 years ago
If enum takes value staring from 1 then the output will be D.

Karthi said:   10 years ago
What is the use of enum status stud1,stud2,stud3; line as Vinod asked? Please explain.

Shankar said:   1 decade ago
It's really nice thanks all.

Virendrasinh chauhan said:   9 years ago
enum status { pass, fail, atkt}; {pass=0,fail=1,atkt=2}////// here enum status is a user define data type.

enum status stud1, stud2, stud3; ////////that's the reason we require the same user define data type for storing the result.
stud1 = pass; //// 0
stud2 = atkt; //// 2
stud3 = fail; //// 1

TUKARAM said:   9 years ago
YES, ENUM START WITH 0.

Navya said:   9 years ago
Why are use std?


Post your comments here:

Your comments will be displayed after verification.