Допустим, я пишу char c[99] = {'Stack Overflow'};
на C или C ++.Он хорошо компилируется, но так ли это?Под действительным я имел в виду не вызывать какого-либо неопределенного или неопределенного поведения.
Опять же, если я напишу char c[99] = 'Stack Overflow';
, gcc жалуется на константу с несколькими символами, что очевидно, но выше, когда я заключаю в фигурные скобки, компилятор рад!Почему это так?
Я также заметил, что puts(c);
после первого оператора выведет 'w' точно последний символ общей строки вместо Stack Overflow
.Почему так?
Может ли кто-нибудь объяснить это поведение отдельно?