int val = 5; printf(\"%d\",++val++); //gives compilation error : \'++\' needs l-value int *p = &val; printf(\"%d\",++*p++); //no error
Could
also note that you're changing the address of the pointer by
int k = ++*p++;