Why can two string literals separated by a space, tab or \"\\n\" be compiled without an error?
int main()
{
char * a = \"aaaa\" \"bbbb\";
}
In this statement
char * a = "aaaa" "bbbb";
the compiler in some step of compilation before the syntax analysis considers adjacent string literals as one literal.
So for the compiler the above statement is equivalent to
char * a = "aaaabbbb";
that is the compiler stores only one string literal "aaaabbbb"