Pretty much the same result as the other answers but maybe put in simpler words instead of citing the specification.
The short answer is: You get a char array which has a zero inside.
The longer answer:
The C language has no real strings. Instead C only has char arrays which are interpreted in a defined manner.
The way to initialize a char array via quotation marks is just syntactic sugar and identical to define an array with numbers (except that the last character is filled with a 0)
What does that mean?
The compiler only sees an array of values and it has no real idea if the array represents an array of numeric values or something string-like which is passed to any string related functions.
Only we know whether a char array is a real string or an array of numeric values.
Thus it would be very dangerous if a compiler would be allowed to do any implicit string optimizations.
That also fits to the other too common problem of C:
If a char array misses the zero terminator then the (unsafe) string functions continue to read until a zero is found somewhere. The compilers may report warnings and give hints to use the safer string functions but the compilers are not able to fix this problem by themselves. Any attempt to let the compiler fix this will probably result in many more problems.