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:
57 comments Page 1 of 6.

Adesh said:   1 decade ago
Whats the use of enum here?

Mukund said:   1 decade ago
Well I cant understand this program can anyone help.

Ram krishna said:   1 decade ago
Here enum is enumerated data type.

It will give sequential no's to variables declared in braces in program pass=0, fail=1, atkt=2.

Hence they are assigned to std1, std2, std3.

See the sequence in printf statement then determine the answer.

Mani krishna said:   1 decade ago
Ram krishna you are correct.

Swetha said:   1 decade ago
Answer may be option D also. Why it is option C only? Can you explain in depth please.

Jeevan said:   1 decade ago
Well they start with 0 not 1 ?

Nagesh said:   1 decade ago
Explanation given by Ram krushna is correct and by the way jeevan enum's syntax is like this that's why it start from 0

Purnima said:   1 decade ago
YES as we know that the array begins with a[0], like this only the in enum it is initialized to 0 first.

Am I correct? Please say if anything wrong.

Tejas said:   1 decade ago
Please anyone explain me about enumerated data type.

Naveen goud said:   1 decade ago
@purnima
you are absolutely correct.

@Tejas

enumerated data type is a user defined data type.we can define any kind of variables,functions and enum assigns integer numbers to those variables that we declared in sequential manner like 0,1,2,3.........etc


Post your comments here:

Your comments will be displayed after verification.