C Programming - Structures, Unions, Enums - Discussion
Discussion Forum : Structures, Unions, Enums - Find Output of Program (Q.No. 13)
13.
What will be the output of the program given below in 16-bit platform ?
#include<stdio.h>
int main()
{
enum value{VAL1=0, VAL2, VAL3, VAL4, VAL5} var;
printf("%d\n", sizeof(var));
return 0;
}
Discussion:
50 comments Page 3 of 5.
Uday said:
1 decade ago
In case of enum it doesn't depends on how many values are present. Simply gives what return type present in that. Gives the sizeof (return type).
Doyel said:
1 decade ago
In enum by default return type is int so it may be 2 or 4 byte based on compiler.
Rohini said:
1 decade ago
enum returns integer only so size is always 2 bytes.
Priya said:
1 decade ago
An enumeration consists of a set of named integer constants.
In ANSI C, the expressions that define the value of an enumerator constant always have int type; thus, the storage associated with an enumeration variable is the storage required for a single int value. An enumeration constant or a value of enumerated type can be used anywhere the C language permits an integer expression.
In ANSI C, the expressions that define the value of an enumerator constant always have int type; thus, the storage associated with an enumeration variable is the storage required for a single int value. An enumeration constant or a value of enumerated type can be used anywhere the C language permits an integer expression.
Priya said:
1 decade ago
An enumeration consists of a set of named integer constants.
In ANSI C, the expressions that define the value of an enumerator constant always have int type; thus, the storage associated with an enumeration variable is the storage required for a single int value. An enumeration constant or a value of enumerated type can be used anywhere the C language permits an integer expression.
In ANSI C, the expressions that define the value of an enumerator constant always have int type; thus, the storage associated with an enumeration variable is the storage required for a single int value. An enumeration constant or a value of enumerated type can be used anywhere the C language permits an integer expression.
Pretti said:
1 decade ago
After enum(...) var-why we are writing it here???
whats its actual meaning is??
what it signifies??
whats its actual meaning is??
what it signifies??
Cherry said:
1 decade ago
Hi guys. Initial value i.e. val1=0, remaining enumeration constants by default incremented by 1 then. At a time it (var) contains only one enumeration constant. So that answer is 2 (in 16-bit platform).
I hope you understand.
I hope you understand.
Sowjanya said:
1 decade ago
The value assigned to the 1st variable is 0 so it's integer, enum also continues its values as integers so in 16 bit compiler integer value is 2.
Vignesh said:
1 decade ago
Value inside enum is not properly arranged then how the answer came 2. It is my doubt only.
Yakesh said:
1 decade ago
"sizeof () " operator returns the actual size of a data type.
For ex: sizeof (float) ; returns 4 bytes.
Here enum treated as integer data type hence returns 2bytes.
For ex: sizeof (float) ; returns 4 bytes.
Here enum treated as integer data type hence returns 2bytes.
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers