How is the following line interpreted by GCC compiler:
printf(\"HELLO\");
I want to know this because when I am running following program
This is an artifact of C pointer-arithmetic; printf is just a red herring.
The type of a string literal (such as "Good morning") is const char *. Your code is equivalent to:
const char *p = "Good morning";
p = p + 5;
printf(p);
Adding a pointer and an integer produces a pointer to the 5th element in the sequence.