In C, I find that the following produces different results although in my mind they should do the same thing:
Say I have the function int main (int argc, char* args[])
and I want to switch on the value of the second character of the first argument.
This works as expected:
args[1]++;
switch (*args[1])
{
//...
But this doesn't (always falls back to default:
)
switch (*(args[1]++))
{
//...
Could a 'C' master explain what's going on?