Hi leena,
I think you were just confused about the question. The question refers to the argument following the case construct not the switch.
In the switch construct --> switch (expression) --> expression can be anything that is compatible to an int.
On the other hand, for the case construct, it has to be an int constant.
For example:
int a = 5;
int b = 10;
switch (a*2) // this is possible, value is evaluated
{
case 10: // should be a constant int
case b: // this is not possible since b is a var
}
I hope this helps.