Добавление к ответу @ DevSolar чего-то, что я обнаружил после игры с заданной строкой, если бы это было:
char c1[] = { 'C', 'S', '\\0', '3', '2', '4', '\\0' };
Если вы выведете эту строку, вы получите CS03240
и размер этой строки равно 7. Насколько я понимаю, \\0
используется для обозначения нулевого символа ( т.е. \0
). Если вы делаете:
printf("\0");
Вы ничего не видите в журнале вывода, но если вы делаете:
printf("\\0");
Вы видите \0
, что-то ожидаемое, потому что для вывода специальных символов, таких как обратная косая черта или кавычки, вам необходимо использовать \
вместе с ними.
Что-то, что меня озадачивает, - это вывод CS03240
и его размер 7. Обычно считается, что размер строки - это количество символов в ней плюс один (для нулевого символа). Кроме того, размер равен 7 даже для строки, char c1[] = { 'C', 'S', '\0', '3', '2', '4', '\0' };
.
Так что, может быть, продолжение этого вопроса, что здесь происходит?