By accident I found that the line char s[] = {\"Hello World\"}; is properly compiled and seems to be treated the same as char s[] = \"Hello World\";
char s[] = {\"Hello World\"};
char s[] = \"Hello World\";
Any variable in (int, char, etc.) is just an array of length 1.
int
char
char s = {0};
works as well.