#include
int main()
{
int a[2]={10,4};
int *k;
int *j;
j=a;
k=j;
printf(\"j=%d,k=%d\\n\\n\",*j,*k);
*j++;
++*k;
prin
You need to dig out your operator precedence table.
*p++ is evaluated as *(p++)
++*p is evaluated as ++(*p)
The second one is due to the prefix ++ having the same precedence as pointer dereference * so associativity (which is from right to left for those operators) comes into play.
For completeness' sake, *(p++) dereferences the current value of p, and p is increased by one once the statement completes. ++(*p) adds 1 to the data pointed to by p.