17 is the answer.
In C, there is a rule that whatever character code be used by the compiler, codes of all alphabets and digits must be in order. So, if character code of 'A' is x, then for 'B' it must be x+1.
Now %s means printf takes and address and prints all bytes starting from that address as characters till any byte becomes the code for '\0'. Now, the passed value to printf here is
p + p[2] - p[6]
p is the starting address of array c. p[2] = 'R' and p[6] = 'I'. So, p[2] - p[6] = 9, and 9-1 =8 , p + 8 will be pointing to the eighth position in the array c. So, printf starts printing from 1 and prints 17.
(Here "ICRBCSIT17" is a string literal and by default a '\0' is added at the end of it by the compiler).
NB: In this question %s is not required.
printf(p + p[2] - p[6] - 1);
Also gives the same result as first argument to printf is a character pointer and only if we want to pass more arguments we need to use a format string.