Order of Expression evaluation in C


In below C program in pritf function it internally evaluates to ASCII value making expression as : P+69-65 how the expression will be evaluated ,P+69 should evaluate first according to associativity ,Iam confused.Can someone please clarify.

code main() {

char c[] = “GATE2011”; char*p = c;

printf(“%s”,p+p[3]-p[1]);

}

Output : 2011