int main(void)
{
char four[4] = "four";
return 0;
}
При компиляции в виде программы на C ++ G ++ сообщает
xxx.cpp: в функции int main ():
xxx.cpp: 3: ошибка: строка инициализатора для массива символов слишком длинная
При компиляции программы на C GCC не сообщает об ошибке.
Мне кажется, что назначение правильно копирует все 4 байта в переменную, как я и ожидал.
Так что мой вопрос сводится к .....
Является ли наблюдаемое поведение в C правильным или я где-то касаюсь неопределенного поведения,
или это вообще что-то еще?