the output of the next code is:
40
30
20
10
unsigned char numbers[] = {10,20,30,40};
unsigned char* ptr = numbers;
printf("%d\n%d\n%d\n%d",*ptr, *(ptr++), *(ptr++), *(ptr++) );
I think ++ operators are done first, so I understand why the first value printed is 40, but how it comes to print 30, 20 and 10 after it ? It's going backwards this way!