Я разбирал вопросник GATE за последние годы, где я застрял с этим вопросом
Что печатает следующий фрагмент C-программы?
char c[]="GATE2011";
char *p =c;
printf ("%s", p+p[3]-p[1]);
Ответ «2011»
Мне известно, что в c переменные массива являются указателем на первый адрес массива.Мой логический ответ был «E2011», но на выходе получилось: 2011
Может кто-нибудь объяснить математику указателя, связанную с этим?