Смежные символы и строковые литералы

Это знакомый факт, что в C вы можете написать "a" "b" и получить "ab" . Это обсуждается в стандарте C11 :

В фазе 6 трансляции многобайтовые последовательности символов, заданные любой последовательностью соседних символов и тождественно-префиксов строковых литералов, объединены в одну многобайтовую последовательность символов.

Фраза «character and …» показала бы, что вы можете получить те же результаты, написав 'a' "b" , но я никогда не сталкивался с этим использованием, а GCC и компилятор Microsoft отвергали его. Я что-то пропустил?

Нет, может быть, у нас получилось неправильное значение из сделанного там заявления.

Позвольте мне привести цитату из C11 , главу §5.1.1.2, « Фазы перевода» , пункт 6,

  1. Смежные строковые литеральные жетоны объединены.

Здесь у нас нет какой-либо путаницы между char и string , в нем четко упоминаются только строковые литералы.