#include<stdio.h>
enum power{
Dalai,
Vladimir=3,
Barack,
Hillary
};
void main(){
float leader[Dalai+Hillary]={1.f,2.f,3.f,4.f,5.f};
enum power p=Barack;
printf("%0.f",leader[p>>1+1]);
}
Output:2
Size of an array can be enum constantan.
Value of enum constant Barack will equal to Vladimir + 1 = 3 +1 = 4
So, value of enum variable p = 4
leader[p >> 1 +1]
= leader[4 >> 1+1]
=leader[4 >> 2] //+ operator enjoy higher precedence than >> operator.
=leader[1] //4>>2 = (4 / (2^2) = 4/4 = 1
=2
#include<stdio.h>
void main(){
int const SIZE=5;
int expr;
double value[SIZE]={2.0,4.0,6.0,8.0,10.0};
expr=1|2|3|4;
printf("%f",value[expr]);
}
Size of any array in c cannot be constantan variable.
No comments:
Post a Comment