Hi all,
I used the following C code to check for a value in the expected range
float var;
range1 to range10 are float values,
if(range1< var < range2)
statement1;
else if(range2 < var < range3 )
statement2;
else if(range3 < var < range4)
statement3;
-
-
else if(range9 < var < range10)
statement10;
I found that the compiler is executing the first statement and removing all the else if statements saying the warning " Removed Dead assignment". Could somebody tell me whether the above range checking code is valid or not?
I replaced the above code with the following
if( (range1< var) && (var < range2))
statement1;
else if( (range2< var) && (var < range3) )
statement2;
else if( (range3< var) && (var < range4))
statement3;
-
-
else if( (range9< var) && (var < range10))
statement10;
then it is working properly.
could somebody explain me this?
Thanks
Satya
I used the following C code to check for a value in the expected range
float var;
range1 to range10 are float values,
if(range1< var < range2)
statement1;
else if(range2 < var < range3 )
statement2;
else if(range3 < var < range4)
statement3;
-
-
else if(range9 < var < range10)
statement10;
I found that the compiler is executing the first statement and removing all the else if statements saying the warning " Removed Dead assignment". Could somebody tell me whether the above range checking code is valid or not?
I replaced the above code with the following
if( (range1< var) && (var < range2))
statement1;
else if( (range2< var) && (var < range3) )
statement2;
else if( (range3< var) && (var < range4))
statement3;
-
-
else if( (range9< var) && (var < range10))
statement10;
then it is working properly.
could somebody explain me this?
Thanks
Satya