printf(5 + "good morning");
"good morning" is a character array.
If we assume base address of the character array "good morning" as 1024.
The starting address points to the character 'g'.
5 + "good morning" or "good morning" + 5
5 + "good morning" will be (base address + 5 which is 1029.(size of character is 1 byte.)
Now the starting address is 1029 which points the character 'm'.

printf will print the given message from the starting address to the end.
Here, starting address has changed to 1029.
So, it will print "morning"
#include<stdio.h> int main() { printf(5 + "good morning"); return 0; }
Output
morning